39 votes

Les Files d'attente dans Ruby on Rails

Quel est le message que les files d'attente sont les gens utilisent pour leurs Rails apps et quelle a été la force motrice derrière la décision de choisir. La dernière Twitter de la publicité sur leur maison de la file d'attente Starling tomber modifier les décisions de conception.

Je suis en train de travailler sur une application qui a besoin d'un message de la file d'attente pour le traitement de certaines tâches en arrière-plan, je n'ai pas fait beaucoup de cela, et la plupart des choses que j'ai vu dans le passé a été d'environ Starling et Workling, et pour être honnête, l'application n'est pas très grand et cette solution serait probablement suffisant, mais j'aimerais obtenir de l'expérience de l'intégration de la meilleure solution possible comme je suis sûr que je vais intégrer dans une plus grande application à un certain point.

Quel est le message que les files d'attente suggérez-vous pour une application Rails???

EDIT: Merci pour les suggestions, je vais regarder un peu ce week-end.

EDIT Encore: j'ai eu un coup d'oeil autour et un peu débordé du choix. Je suis pourtant aller sur l'intégration de RabbitMQ avec Workling dans l'application que je suis en immeuble, puis si jamais j'ai besoin de quelques connaissances à propos d'un fast file d'attente, alors je vais avoir cette et de savoir si oui ou non il correspond à mes besoins.

EDIT: Trouver de plus en plus et que les DJ qui me convient très bien, si jamais je "dépasser" sur un site, je dirais que Resque est là que je serait à la tête.

16voto

Julian Points 1044

Comme une mise à jour -- GitHub ont déménagé à Resque sur le Redis au lieu de Retard de la poste. Cependant, ils recommandent toujours delayed_job pour les petites configurations:

https://github.com/resque/resque

9voto

Sarah Mei Points 10673

Chris Wanstrath à partir de github a été à la SF Ruby meetup récemment, en parlant de leur file d'attente. Ils ont essayé de Starling, beanstalk, et quelques autres variantes avant de s'installer sur Shopify est delayed_job. Ils sont assez agressifs avec leur utilisation de la semi-finition.

Voici un billet de blog de l'année dernière qui parle de leur déplacement pour les DJ.

Là où je suis maintenant, nous avons lancé notre propre il y a plusieurs années, mais je vais prendre quelques idées de DJ pour améliorer la gestion.

9voto

Oleg Shaldybin Points 934

Je recommande retardée de travail comme un simple morts solution si vous n'avez pas s'attendre à une lourde charge. Le pour: facile à installer, facile à suivre, simple code, n'ont pas de dépendances externes. Précédemment, nous avons utilisé ActiveMessaging (avec ActiveMQ et stomp), mais c'était trop pour notre projet, nous nous sommes mis à delayed_job pour sa simplicité.

De toute façon, si vous avez besoin d'matures et très rapide de la solution, ActiveMQ est un très bon choix. Si vous ne voulez pas passer trop de temps sur le maintien de la pleine échelle message queueing solution vous n'avez pas vraiment besoin, delayed_job est un moyen d'aller. Voici un bon article sur Scribd expérience avec ActiveMQ.

4voto

Adam Alexander Points 10883

Voici quelques Ruby/Rails de solutions, l'une ou plusieurs de ces peut être un bon ajustement en fonction de vos besoins:

http://xph.us/software/beanstalkd

http://rubyforge.org/forum/forum.php?forum_id=19781

http://backgroundrb.rubyforge.org

Et, une solution hébergée d'Amazon qui ferait une grande file d'attente pour le partage entre Ruby/Rails et les autres composantes d'un système plus vaste:

http://aws.amazon.com/sqs

Espérons que cette aide!

3voto

Sebastian Points 137

Le Serveur de Messagerie, vous pouvez aller pour est RabbitMQ. Erlang fraîcheur, AMQP, bonne Ruby libs.

http://www.bestechvideos.com/2008/12/09/rabbitmq-an-open-source-messaging-broker-that-just-works

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X