> Faqs > El comportamiento de los jobs de Laravel no se actualiza correctamente al código existente

El comportamiento de los jobs de Laravel no se actualiza correctamente al código existente

Por mucho que actualizo el código PHP de un job de Laravel, no veo que se produzcan cambios en la ejecución del proceso.

Es decir, sigue ejecutando el código del job, tal como estaba antes, y no el código con el comportamiento actualizado al código existente en la clase en la actualidad.

¿Hay algo que me esté dejando?

Respuestas

El tema es que los jobs se encuentran "compilados" (por decirlo de alguna manera) cuando se inicia el sistema de colas. Aunque cambies el código los jobs no se actualizan nunca, a no ser que pares el sistema de colas de Laravel y lo vuelvas a arrancar.

De todos modos la operativa es bien sencilla, gracias a Artisan.

Simplemente usa estos comandos.

php artisan queue:restart

Este reinicia la cola de jobs de Laravel, con lo que el código de las tareas se renuevará con las versiones actuales.

Yo en el desarrollo en local, ya que los jobs los tienes arrancados con el propio Artisan, lo que hago habitualmente es parar el proceso que se encarga de correr los trabajos, con CRTL+C y luego arrancarlo de nuevo lanzando el comando de arranque:

php artisan queue:work

Lo que pasa es que esto en el servidor no lo puedes hacer, ya que los jobs se encuentran manejados por Supervisor. Igual si arrancas de nuevo supervisor también te los recompila los jobs, eso ya no lo sé.

Julian
1147 49 87 46
Muchas gracias julián por la respuesta!