php symfony laravel timeout queue

php - Error de tiempo de espera de proceso de cola Laravel



symfony timeout (2)

Agregar --timeout=0 trabajado para mi configuración.

ACTUALIZACIÓN: El comando completo sería, por lo tanto, php artisan queue:listen --timeout=0 .

Espero que esto ayude.

Estoy en Laravel usando php artisan queue:listen para ejecutar trabajos en cola. Uno de estos trabajos es bastante complicado y lleva mucho tiempo, por lo que me aparece el siguiente error:

[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.

Sé que podría ejecutar queue:listen con un valor arbitrariamente alto de tiempo de espera, pero eso no es ideal, ya que quiero que se agote el tiempo en caso de que algún proceso sea realmente no sensible. Intenté regularmente llamar a set_time_limit(60) dentro de la función llamada por el trabajo, pero eso no resolvió mi problema.

Encontré un hilo en línea que menciona Symfony/Component/Process/Process->setTimeout(null) , pero no sé cómo acceder a ese objeto de proceso, o si eso incluso solucionaría el problema.

Cualquier ayuda sería muy apreciada.


Este es un bug conocido en Laravel v5.3:

Debe actualizar a v5.5 para solucionar este problema.

Otra forma es piratear el código fuente como se explica here