Redémarrer automatiquement le Script PHP à la Sortie

Est-il une manière que je peux redémarrer automatiquement un script PHP à chaque fois qu'il sort, indépendamment du fait qu'il a été quitté correctement ou a été résilié en raison d'une erreur, ou au maximum l'utilisation de la mémoire, etc.?

  • le mettre dans une infinie boucle do while dans un script shell?
  • Il pourrait fonctionner, mais je dois avoir 8 threads d'un script qui s'exécute dans le même temps, et tout le redémarrage d'eux-mêmes si ils sortent. Alors j'aurais besoin de 8 script shell en cours d'exécution, droit? Il ne semble pas très efficace.
  • Script PHP peut être exécutée que si elle est appelée. Donc, en utilisant php seulement il n'y a aucun moyen que je Pense. Mais un processus d'arrière-plan peuvent le faire. Si vous pouvez écrire un tel processus d'arrière-plan qui peut vérifier les processus en cours d'exécution & faire les démarches nécessaires, vous pouvez le faire.
  • J'ai trouvé supervisord très utile à cette fin. Vous pourriez mettre en œuvre de tels processus de supervision/contrôle/redémarrage/démon comportement en pur PHP, mais pourquoi ne pas utiliser quelque chose qui existe déjà?
  • php les démons ne sont jamais très fiable. mais j'ai utilisé une tâche cron pour vérifier toutes les 5 minutes et redémarrer si nécessaire. Si vous pouvez vivre avec 1 minute d'arrêt, essayez de cron.
  • Je peux vivre avec ça, mais comment est-ce qu'il va savoir qu'il y a seulement 7 occurrences d'un même script php en cours d'exécution au lieu de 8?
  • windows ou *nix ? sur nix, vous pouvez utiliser le ps
  • supervisord prend spécifiquement en charge de garder un certain nombre d'instances et de l'exécution... 🙂
  • Je ne comprends pas le supervisord de la documentation. Pourriez-vous s'il vous plaît expliquez-moi comment le faire fonctionner plusieurs instances de la même script PHP et de redémarrage automatique si la sortie? Aussi, j'en ai besoin pour décaler le lancement initial de chacune des 8 cas par 1 minute entre chaque.

InformationsquelleAutor Alasdair | 2012-03-21