2017-03-07 1 views
0

J'ai un travail sidekiq échoué en raison d'une erreur de logique. Combien de fois ce travail réessayera-t-il? Où vont les travaux échoués? Les travaux échoués sont-ils remis en attente dans redis?De combien de temps Rails sidekiq retry emplois?

En outre, quel est exactement un processus sidekiq? Comment sidekiq lance-t-il un processus pour mettre en file d'attente des travaux et un autre pour supprimer des emplois? Que se passe-t-il à un niveau élevé?

Répondre

2

Pas toutes les réponses à vos questions, mais quelques informations utiles:

  1. De sidekiq Wiki: « Si vous ne résout pas le bug dans les 25 (environ 21 retries jours), Sidekiq arrêtera et réessayant déplacer votre travail à la mort File d'attente vous pouvez corriger le bug et relancez le travail manuellement à tout moment au cours des 6 prochains mois en utilisant l'interface utilisateur Web .... » -. (https://github.com/mperham/sidekiq/wiki/Error-Handling#best-practices)

  2. Si vous souhaitez surveiller les travaux en en temps réel à you-domain/sidekiq (ou quoi que vous configuriez) lisez ceci comment configurer les routes: https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting#sidekiq-web-does-not-render-correctly-in-production-but-works-fine-in-development

  3. Pour supprimer les travaux ayant échoué en développement, exécutez $redis.flushdb à partir de la console rails. Cela annulera tous les travaux en attente. Je n'ai jamais eu besoin d'en tuer un, mais je suis sûr que c'est possible d'une façon ou d'une autre.

  4. Vous pouvez configurer retries d'emploi par des options de cette page wiki: https://github.com/mperham/sidekiq/wiki/Error-Handling#configuration exemple: sidekiq_options :retry => 5 # Only five retries and then to the Dead Job Queue

  5. Et pour éviter de multiples lire la page des meilleures pratiques des questions de niveau d'entrée: https://github.com/mperham/sidekiq/wiki/Best-Practices Surtout prêter attention à un point: 2. Faites votre idempotent d'emploi et transactionnel

ils ont ensemble très bon wiki qui answe La plupart des questions.