Laravel file process timeout error
Je suis sur Laravel en utilisant php artisan queue:listen
pour exécuter des travaux en file d'attente. L'un de ces emplois est assez impliqués et prend beaucoup de temps, et donc j'obtiens l'erreur suivante:
[SymfonyComponentProcessExceptionProcessTimedOutException]
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 run queue:listen
avec une valeur de timeout arbitrairement élevée, mais ce n'est pas idéal, car je veux à la fois dans le cas où certains processus en fait, unreseponsive. J'ai essayé régulièrement appel set_time_limit(60)
dans la fonction appelée par le travail, mais cela ne résout pas mon problème.
j'ai trouvé un thread en ligne mentionnant SymfonyComponentProcessProcess->setTimeout(null)
, mais je ne sais pas comment accéder à ce processus objet, ou, si cela même résoudre le problème.
Toute aide serait grandement appréciée.
2 réponses
Ajout --timeout=0
travaillé pour mon set up.
mise à jour:
La commande entière serait donc php artisan queue:listen --timeout=0
.
J'espère que cela vous aidera.
C'est un bug
vous devriez passer à v5.5 pour corriger ce problème. une Autre façon est de bidouiller le code source comme expliqué ici