El comando queue:work de Laravel ha recibido una actualización significativa que simplifica el diagnóstico de tareas en segundo plano. Hasta ahora, cuando un proceso finalizaba, la salida por consola no detallaba la causa exacta del cierre. Sin embargo, según se destaca en un artículo publicado en Laravel News, el sistema ahora indica explícitamente en su última línea la razón por la que se ha detenido el trabajador.

Diagnóstico claro para procesos en segundo plano
Un proceso de colas puede detenerse por múltiples motivos, entre los que se incluyen haber superado el límite de memoria permitido, perder la conexión con la base de datos o recibir una orden de reinicio durante un despliegue. Anteriormente, identificar la causa requería revisar registros de despliegue o registrar oyentes de eventos específicos para obtener el contexto.
Con esta mejora técnica aportada por Jack Bayliss, la salida por consola y la opción --json incluyen el motivo exacto del cierre. Al ejecutar la orden con el modificador JSON, la herramienta proporciona un registro estructurado con el estado, el código de salida, la memoria utilizada y un identificador del motivo de la detención.
Detalles técnicos y eventos personalizados
El cambio integra la descripción legible dentro del enum WorkerStopReason. Esto abarca situaciones habituales como la finalización por tiempo máximo de ejecución, colas vacías o pérdida de conexión. Cabe destacar que la línea informativa se omite al utilizar los parámetros --quiet o --silent, así como en casos donde el proceso es eliminado de forma abrupta por el sistema operativo mediante SIGKILL.
Para proyectos que requieran métricas detalladas en paneles de control, el evento WorkerStopping continúa ofreciendo acceso completo a la cantidad de trabajos procesados, marcas de tiempo y métricas de memoria en el instante del cierre.