Cómo obtener el ID de un Job en Laravel
Si has trabajado con las últimas versiones de laravel, te debes haber dado cuenta que cuando haces un dispatch de un job, este no retorna el ID del job, tal y como lo hacía en las versiones pasadas.
Pero tranquilo, hay 2 soluciones dependiendo de donde necesites obtener el ID.
Dentro del Job
La forma más simple de obtener el ID pero no siempre la más útil es a través del método getJobId()
dentro de la variable job del trait InteractsWithQueue
de la siguiente manera.
De esta forma se puede obtener el ID dentro de la clase del job permitiendo interactuar con la base de datos a través de este ID.
Cuando el Job es Despachado
Esta forma de obtener el ID de un job en laravel es la menos conocida, ya que no se muestra en la documentación principal y debes ir buscando dentro de los archivos que componen al framework para descubrir que la solución está en el uso del dispatcher del bus de laravel, tal y como se muestra en el siguiente código.
Como puedes ver, esta no es una solución que encontrarías directamente pero que se vuelve lógica cuando sabemos cómo se compone el framework.