Pour mes projets, je ne me comfortbale avec collectiveidea/delayed_job dans rails2 et 3.
Je ne sais pas beanstalkd, mais je vais essayer bientôt :-).
J'ai suivi les suggestions de l'resque de la documentation.
Je vais le signaler.
Resque vs DelayedJob
Comment ne Resque comparer à DelayedJob, et pourquoi voudriez-vous choisir l'un plutôt que l'autre?
- Resque prise en charge de plusieurs files d'attente
- DelayedJob supporte plus fine des priorités
- Resque travailleurs sont résistants à des fuites de mémoire / ballonnement
- DelayedJob les travailleurs sont extrêmement simple et facile à modifier
- Resque nécessite Redis
- DelayedJob nécessite ActiveRecord
- Resque ne peut le mettre JSONable objets Ruby sur une file d'attente comme arguments
- DelayedJob pouvez placer n'importe Rubis sur l'objet de sa file d'attente comme arguments
- Resque comprend un Sinatra application pour le suivi de ce qui se passe
- DelayedJob peut être interrogé à partir de votre application Rails, si vous souhaitez ajouter une interface
Si vous êtes en train de faire les Rails du développement, vous avez déjà une base de données et ActiveRecord. DelayedJob est super facile à installer et fonctionne très bien. GitHub utilisé pour beaucoup de mois pour le traitement de près de 200 millions d'emplois.
Choisissez Resque si:
- Vous avez besoin de plusieurs files d'attente
- Vous ne vous inquiétez pas / n'aime numérique priorités
- Vous n'avez pas besoin de persister chaque Ruby objet jamais
- Vous avez potentiellement énormes files d'attente
- Vous voulez voir ce qu'il se passe
- Vous attendez beaucoup de l'échec ou du chaos
- Vous pouvez configurer Redis
- Vous n'êtes pas en cours d'exécution court de la RAM
Choisissez DelayedJob si:
- Vous aimez numérique priorités
- Vous n'êtes pas d'effectuer une quantité gigantesque d'emplois chaque jour
- Votre file d'attente reste petit et agile
- Il n'y a pas beaucoup d'échec / chaos
- Vous voulez facilement jeter quoi que ce soit sur la file d'attente
- Vous ne voulez pas installer Redis
Choisissez Beanstalkd si:
- Vous aimez numérique priorités
- Vous souhaitez extrêmement rapide de la file d'attente
- Vous ne voulez pas vous gâcher la RAM
- Vous souhaitez répondre à nombre élevé d'emplois
- Vous êtes très bien avec JSONable objets Ruby sur une file d'attente comme arguments
- Vous avez besoin de plusieurs files d'attente
N'est en aucune façon Resque une "meilleure" DelayedJob, alors assurez-vous de choisir l'outil qui convient le mieux à votre application.
Une belle comparaison de la mise en attente du backend de vitesse:
enqueue work
-------------------------------------------------
delayed job | 200 jobs/sec 120 jobs/sec
resque | 3800 jobs/sec 300 jobs/sec
rabbitmq | 2500 jobs/sec 1300 jobs/sec
beanstalk | 9000 jobs/sec 5200 jobs/sec
Have a nice day!
P. S. Il y a un RailsCast sur resque, Retardé d'Emploi (version révisée) et Beanstakld. Avoir un coup d'oeil!
P. P. S. Mon préféré choiche est maintenant Sidekiq ( très Simple, Rapide et efficace pour des travaux simples ), jetez un oeil à cette page à des fins de comparaison.