Hmm le coup du Fork avec php ça ne me plait pas, je ne ferais pas confiance à ce langage pour ça, et surtout sur du mutu genre OVH ça ne passe peut-être pas, notament l'histoire d'écoute de ports.
Maintenant rien ne t'empêche de lancer le script en boucle depuis ton poste en faisant des requêtes avec Curl ou un navigateur.
Quelques pistes :
Laisser le programme tourner en boucle indéfiniment et n'envoyer de réponse à la requête que quand il y a une erreur. Bloquer le script en cas d'erreur et attendre qu'il soit relancé. Il ne se relance pas seul.
(Re)Lancer le script à partir de chez toi, de ton panneau d'admin, avoir un script externe pour traiter les erreurs et lancer certaines tâches en priorité en fonction de celles-ci.
Prévoir un moyen d'interrompre le script quand on veut, notamment quand on a perdu sa connexion internet, au lieu d'attendre qu'il tombe sur une erreur.
Le laisser planter en beauté au lieu de passer 3 mois à coder un gestionnaire d'erreurs super complexe qui va essayer de corriger les erreurs alors que ce n'est pas le boulot de ce script.
Par contre, avoir un gestionnaire d'erreurs qui remplace les erreurs natives pas un truc ergonomique genre JSON, XML, headers HTTP, ou autre structure de ton cru pour permettre à ton superviseur de les lire et de les traiter est bien pratique.
Du coup tu peux utiliser les cron pour relancer ton script, mais sur OVH par exemple on dirait que le minimum de périodicité est 1 heure. donc si ton script plante à 15h01 il faudra attendre 59 minutes avant qu'il se relance. Marquer dans un fichier que le script est déjà en cours d'exécution s'il n'est pas planté, afin d'éviter que le cron ne le relance.
Est-ce que le cron va être bloqué du fait que le cron ne se termine pas ? Dans ce cas là ça revient à ta solution il faut utiliser un fork, ou une requête apache.
Dégoter un serveur dédié et remplacer ton navigateur/cron par un vrai deamon.
Maintenant rien ne t'empêche de lancer le script en boucle depuis ton poste en faisant des requêtes avec Curl ou un navigateur.
Quelques pistes :
Laisser le programme tourner en boucle indéfiniment et n'envoyer de réponse à la requête que quand il y a une erreur. Bloquer le script en cas d'erreur et attendre qu'il soit relancé. Il ne se relance pas seul.
(Re)Lancer le script à partir de chez toi, de ton panneau d'admin, avoir un script externe pour traiter les erreurs et lancer certaines tâches en priorité en fonction de celles-ci.
Prévoir un moyen d'interrompre le script quand on veut, notamment quand on a perdu sa connexion internet, au lieu d'attendre qu'il tombe sur une erreur.
Le laisser planter en beauté au lieu de passer 3 mois à coder un gestionnaire d'erreurs super complexe qui va essayer de corriger les erreurs alors que ce n'est pas le boulot de ce script.
Par contre, avoir un gestionnaire d'erreurs qui remplace les erreurs natives pas un truc ergonomique genre JSON, XML, headers HTTP, ou autre structure de ton cru pour permettre à ton superviseur de les lire et de les traiter est bien pratique.
Du coup tu peux utiliser les cron pour relancer ton script, mais sur OVH par exemple on dirait que le minimum de périodicité est 1 heure. donc si ton script plante à 15h01 il faudra attendre 59 minutes avant qu'il se relance. Marquer dans un fichier que le script est déjà en cours d'exécution s'il n'est pas planté, afin d'éviter que le cron ne le relance.
Est-ce que le cron va être bloqué du fait que le cron ne se termine pas ? Dans ce cas là ça revient à ta solution il faut utiliser un fork, ou une requête apache.
Dégoter un serveur dédié et remplacer ton navigateur/cron par un vrai deamon.