Question

Voici mon scénario simple cas idéal pour quand je voudrais emploi retardé à exécuter:

  • Lorsque le premier serveur d'applications (que ce soit par bâtarde ou passager) démarre, il va commencer mes ouvriers d'emploi différé.
  • Lorsque le dernier serveur d'application en cours d'exécution se termine, il va tuer tous les travailleurs d'emploi différé.

La première partie (départ) est faisable, bien que je ne suis pas sûr de ce que la façon de le faire est « bon » ou « meilleur ». Il suffit de faire un appel système conditionnel (sur le processus en cours d'exécution ne sont pas déjà) pour delayed_job commencer?

La seconde partie (terminaison) - eh bien, je ne suis pas sûr si elle est faisable ou non. ont certainement aucune idée de comment cet effet pourrait se faire.

Toutes les pensées ou idées?

Y at-il une autre façon que vous commencez / fin retardé les travailleurs d'emploi que vous pensez est le meilleur?

question de côté: Les principales questions ci-dessus pour l'environnement de production - un cas plus difficile car il y a plusieurs serveurs d'applications en cours d'exécution en même temps. Pourrait la même chose se fait facilement dans l'environnement de développement (où il est assuré d'être un seul serveur d'applications, et non un groupe d'entre eux) par bifurquer un processus enfant pour exécuter les travailleurs d'emploi différé qui toujours fin lorsque le parent se termine? Comment dois-je prendre?

Était-ce utile?

La solution

Vous pouvez certainement tirer la terminaison de dieu.

Il suffit de regarder les processus d'application et Dieu se déclenche un rappel quand ils sont tous arrêtés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top