Laravel Cron Job

Alejandro Roa
May 29 · 2 min read

En alguna oportunidad vamos a necesitar ejecutar tareas de forma automática en nuestro proyecto.

Debemos tener en cuenta que desarrollar un cron se divide en tres partes:

  1. Escribir el comando que va ejecutar dicho cron
  2. Escribir el cron propiamente.
  3. Registrar el cron en App/Console/Kernel.php
  4. Informarle al servidor que existe un demonio disponible para ejecutar un cron

Escribimos el comando y el cron: ejecutamos en nuestro caso lo siguiente.

php artisan make:command RegisteredItems

Ese comando va crear el archivo RegisteredItems dentro de App/Console/Commands/

En el primer apartado vamos a escribir como se va llamar nuestro comando (command:name) y en el segundo la descripción del mismo.

En la parte inferior del archivo específicamente en la función handle vamos a escribir lo que necesitamos que ejecute el cron.

Registramos el cron en App/Console/Kernel.php:

en $commands vamos a colocar el namespace del cron y en la función schedule vamos a escribir la ejecución de dicho cron en base al comando y en base al tiempo en que necesitamos que se realice la tarea. Las diferentes funciones en base al tiempo las puedes encontrar AQUÌ

Para verificar que nuestro comando queda registrado de forma correcta ejecutamos:

php artisan list
  1. Informarle al servidor que existe un demonio disponible para ejecutar un cron: ejecutamos..
crontab -e

y luego agregamos al archivo lo siguiente:

* * * * * php /path/to/project artisan schedule:run >/dev/null 2>&1

De esta forma, le indicamos al server que existe un demonio disponible y el demonio va ejecutar el cron en laravel cada minuto.

El proyecto lo pueden bajar AQUÌ

Eso es todo! espero que les sirva.

Saludos!

Alejandro Roa

Written by

Padre de Ana Lucia ❤️ Developer 💻