En este tutorial le mostraré cómo podemos ejecutar trabajos cron en Laravel, pero además de todo, mantendremos las cosas simples y fáciles para nuestros estudiantes. Exploraremos cómo configurar y ejecutar estas tareas automatizadas directamente en su propia computadora mientras creamos nuestra aplicación Laravel.
En primer lugar, ¿qué es exactamente una tarea cron? Piense en ello como un asistente personal para su sitio web, uno que nunca duerme y siempre llega a tiempo. Es una tarea que usted programa para que se ejecute automáticamente en momentos específicos. En Laravel, los usamos para manejar trabajos repetitivos que mantienen nuestra aplicación funcionando sin problemas.
Ahora quizás te preguntes: "¿Cómo hago para que estos trabajos cron se ejecuten en mi propia computadora?" Vamos a seguir esto paso a paso y, al final, estarás programando tareas como un profesional.
Comencemos con el corazón del sistema de programación de Laravel: el archivo app/Console/Kernel.php. Aquí es donde ocurre la magia. Cuando abra este archivo, verá un método llamado programación. Este es su patio de recreo para configurar tareas. Así es como podría verse:
protected function schedule(Schedule $schedule) { $schedule->command('emails:send')->daily(); }
En este ejemplo, le diríamos a Laravel: "Oye, quiero que envíes correos electrónicos todos los días". ¡Es así de simple! Laravel te ofrece toneladas de opciones sobre cuándo ejecutar tus tareas. Podrías ejecutarlos cada hora, una vez a la semana o incluso cada cinco minutos si así lo deseas.
Ahora, aquí es donde las cosas se ponen un poco complicadas. En un servidor web real, hay un sistema que ejecuta automáticamente estas tareas programadas. Pero en tu propia computadora, necesitamos ser un poco creativos.
Laravel nos brinda un comando útil para ejecutar nuestras tareas programadas manualmente. Puedes escribir esto en tu terminal:
php artisan schedule:run
Este comando es como decir: "Ejecuta todas las tareas que vencen ahora mismo". Pero seamos honestos, no querrás sentarte ahí escribiendo este comando una y otra vez, ¿verdad?
Entonces, aquí tienes un buen truco. Podemos crear un script simple que ejecute este comando cada minuto. Es como tener un pequeño robot asistente en tu computadora. Así es como podría verse ese script:
#!/bin/bash while true do php /path/to/your/project/artisan schedule:run >> /dev/null 2>&1 sleep 60 done
¡No dejes que esto te asuste! Simplemente le dice a su computadora que ejecute el comando programar: ejecutar cada 60 segundos. Guarda esto como un archivo .sh y ejecútalo en segundo plano mientras trabajas en tu proyecto.
Mientras pruebas tus tareas programadas, es una buena idea agregar algo de registro. De esta manera, puedes ver lo que sucede detrás de escena. Es como dejar un rastro de migas de pan para ti mismo.
Recuerde, esta configuración es excelente para cuando ha estado creando y probando su aplicación en su propia computadora. Cuando esté listo para lanzar su sitio web de verdad, deberá configurar las cosas de manera un poco diferente en su servidor web.
El creador de Laravel, Taylor Otwell, dijo una vez: "La programación de tareas es un aspecto crucial del desarrollo web moderno, que permite a los desarrolladores automatizar tareas repetitivas y mejorar la eficiencia general de sus aplicaciones". ¡Tiene toda la razón! Al dominar las tareas programadas, estará dando un gran paso hacia la creación de aplicaciones web más potentes y eficientes.
¡Ahí lo tienes! Ahora está equipado para configurar y ejecutar trabajos cron en su propia computadora mientras crea su aplicación Laravel. Puede parecer un poco complejo al principio, pero con la práctica descubrirás que se convierte en algo natural. ¡Sigue experimentando y, antes de que te des cuenta, estarás programando tareas como un profesional experimentado!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3