Je suis sur Laravel utilisant php artisan queue:listen
Pour exécuter des tâches en file d'attente. L'une de ces tâches est assez impliquée et prend beaucoup de temps, et donc j'obtiens l'erreur suivante:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process ""/usr/local/Cellar/php55/5.5.14/bin/php" artisan queue:work
--queue="QUEUE_URL" --delay=0 --memory=128 --sleep=3 --tries=0"
exceeded the timeout of 60 seconds.
Je sais que je pourrais exécuter queue:listen
Avec une valeur de timeout arbitrairement élevée, mais ce n'est pas idéal, car je fais veux qu'il expire dans le cas où un processus est en fait non réactif. J'ai essayé d'appeler régulièrement set_time_limit(60)
dans la fonction appelée par le job, mais cela n'a pas résolu mon problème.
J'ai trouvé un fil en ligne mentionnant Symfony\Component\Process\Process->setTimeout(null)
, mais je ne sais pas comment accéder à cet objet de processus, ou si cela pourrait même résoudre le problème.
Toute aide serait très appréciée.
Ajouter --timeout=0
a travaillé pour mon installation.
PDATE: La commande entière serait donc php artisan queue:listen --timeout=0
.
J'espère que cela t'aides.