2010-07-11 7 views
8

Je suis en train d'essayer delayed_job maintenant, et j'ai quelques questions.Quelques questions de base sur 'delayed_job'

Sur la page http://github.com/collectiveidea/delayed_job, je peux voir des informations:

Les travailleurs peuvent être en cours d'exécution sur un ordinateur , tant qu'ils ont accès à la base de données et de leur horloge est en synchronisation. Gardez à l'esprit que chaque travailleur vérifiera la base de données au moins tous les 5 secondes.

  1. Quand j'invoque rake jobs:work une fois, il va créer UN travailleur, non?

  2. Lorsqu'un travailleur vérifie la base de données, il va lire TOUTES tâches nouvelles et échoué CHAQUE FOIS, et de les exécuter?

  3. il est dit qu'un ouvrier va vérifier la base de données toutes les 5 secondes, puis-je le faire 2 secondes? Lorsque je crée un travailleur (rake jobs:work), il y a déjà 10 tâches dans la base de données, et chacune prendra 3 secondes. Combien de processus DelayedJob va-t-il créer? Et combien de secondes ont besoin au total?

Répondre

13
  1. oui
  2. oui
  3. Delayed::Worker.sleep_delay = 2
  4. 1 travailleur travaillera sur chaque tâche à son tour, en passant ou à défaut avant de commencer la suivante. 30 secondes au total + cependant longtemps 9 retards de sommeil sont pour le temps total (45 secondes par défaut). Je ne suis pas sûr de savoir comment répondre à votre question sur les processus. 1 travailleur est créé, ce qui est un processus. Zéro ou plusieurs autres processus peuvent être créés, selon le travail à exécuter.
+0

@ x1a4, merci. Et pourriez-vous voir ma question mise à jour, il y a une autre question :) – Freewind

+0

Y at-il de toute façon accélérer? Je veux dire, ces tâches peuvent-elles être exécutées en parallèle? – Freewind

+0

exécuter plusieurs travailleurs – x1a4