par
two3d » 06 juin 2025, 23:04
OK, je ne connais pas les process de ce genre mais quelques pistes pour t'aider :
Utiliser la commande "timeout" dans ta ligne qui lance le cron :
https://serverfault.com/questions/53966 ... -cron-jobs
Exemple :
Code : Tout sélectionner
*/30 * * * * timeout 900 /usr/bin/php /chemin/monscript.php >> /var/log/monscript.log 2>&1
Si tu fais des appels à Gmail via cURL ou une lib, définis des timeouts stricts :
Code : Tout sélectionner
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 900);// 15 min
Ajouter un timeout global dans ton script PHP :
// Timeout global de sécurité
declare(ticks=1);
pcntl_signal(SIGALRM, function() {
error_log("Script killed: timeout");
exit(1);
});
pcntl_alarm(900);
Déclarer ticks peut devenir coûteux en CPU :
https://www.php.net/manual/fr/function. ... php#111428
Voir les "processus zombie" :
https://fr.wikipedia.org/wiki/Processus_zombie
https://stackoverflow.com/questions/435 ... -is-called
OK, je ne connais pas les process de ce genre mais quelques pistes pour t'aider :
Utiliser la commande "timeout" dans ta ligne qui lance le cron :
https://serverfault.com/questions/539665/setting-timeout-for-cron-jobs
Exemple :
[code]*/30 * * * * timeout 900 /usr/bin/php /chemin/monscript.php >> /var/log/monscript.log 2>&1[/code]
Si tu fais des appels à Gmail via cURL ou une lib, définis des timeouts stricts :
[code]$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 900);// 15 min[/code]
Ajouter un timeout global dans ton script PHP :
[PHP]// Timeout global de sécurité
declare(ticks=1);
pcntl_signal(SIGALRM, function() {
error_log("Script killed: timeout");
exit(1);
});
pcntl_alarm(900); [/PHP]
Déclarer ticks peut devenir coûteux en CPU : https://www.php.net/manual/fr/function.pcntl-signal.php#111428
Voir les "processus zombie" :
https://fr.wikipedia.org/wiki/Processus_zombie
https://stackoverflow.com/questions/4351167/apache-spawning-zombie-processes-when-php-is-called