7
votes

BeanStalkd - Qu'advient-il des emplois réservés, mais pas terminé?

J'ai créé un script PHP qui se lit à partir de BeansTalkd et traite les travaux. Pas de problèmes là-bas.

La dernière chose à faire est d'écrire un script init pour cela, il peut donc fonctionner comme un service.

Cependant, cela a soulevé une autre question pour moi. Lorsque vous essayez d'arrêter le service, la seule façon évidente de le faire serait d'essayer de tuer le processus. Cependant, si je le fais, quel sera le travail, si le script PHP était à mi-chemin du traitement? Donc, le travail était réservé, mais le script n'a jamais réussi ni échoué (à supprimer ou à enterrer respectivement), que se passe-t-il?

Je suppose que le TTR expirera, puis il est remis à la file d'attente Ready?

et bonus 2nd question, toute astuce sur la meilleure façon de gérer l'arrêt du service PHP?


0 commentaires

3 Réponses :




0
votes

Si votre travail est trop précieux pour perdre, vous pouvez également utiliser PCNTL pour attendre que le travail finisse puis redémarrer / arrêter votre travailleur. J'ai réussi à gérer tous les signaux PCNTL appropriés pour libérer le travail en tube.


0 commentaires