No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Avanzado de PHP

Curso Avanzado de PHP

Héctor Benitez

Héctor Benitez

Procesar tareas asíncronas

30/35
Recursos

Es necesario lograr que el envío de correos se haga de manera automática pues no sería sostenible llamar comandos de manera manual. Para esto existe el Cron Job disponible en Linux y Unix que nos permite ejecutar una tarea cada cierto tiempo.
https://crontab.guru nos ayudará a traducir lo que necesitamos poner en el Cron.

Dentro de Linux todos los procesos que están corriendo son conocidos como servicios y cuando queremos recargarlos es necesario reconfigurar y reiniciar.

Aportes 11

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Esto realmente más que tareas asíncronas son tareas en segundo plano que realiza el sistema operativo, ya que PHP por si solo no maneja asincronismo, pero esta es una buena opción para “simularlo”.

Y más que hacer PHP, los cron jobs te sirven para ejecutar cualquier comando u archivo de tu sistema operativo, puedes programar tu computadora para que haga cierta cosa cada X tiempo en el lenguaje que más te guste, así sea solo lenguaje bash, recomiendo el curso de Introducción a la línea de comandos para saber un poco más de esto:D!

Comandos en la consola:

  1. Entramos al archivo con:
sudo vi /etc/crontab
  1. Luego con i editamos el archivo.
  2. Añadimos los asteriscos y luego el comando a ejecutar.
  • Para el caso de la maquina virtual Homestead, seria:
php /home/vagrant/code/nombre_del_proyecto/console.php app:send-mail
  • Para Xampp en instalado de forma local en linux:
php /opt/lampp/htdocs/nombre_del_proyecto/console.php app:send-mail
  • Si el archivo esta como un enlace simbólico en la carpeta htdocs, se puede ejecutar directamente desde la ubicación del proyecto, ejemplo:
php /home/nombre_del_usuario/ubicación_proyecto/console.php app:send-mail

Tip:
Para evitar poner /home/nombre_del_usuario se usa ~/, ejemplo :

~/ubicación_proyecto/console.php app:send-mail

En el caso de usar Homestead:

~/code/nombre_del_proyecto/console.php app:send-mail
  1. Se cierra el archivo con :wq
  2. Ejecutamos el comando:
sudo systemctl restart cron

Para reiniciar el servicio de crontab.

En windows me quedo corto 😕

Bueno no es magicamente pero vamos a pensar que son cosas bonitas jajajaja.

¿Cómo podría enviar un mensaje junto con el RedirectResponse para mostrarlo luego en la vista?

jajajaja magicamente no, pero vamos a pensar que son cosas bonitas, muy bien explicado, no conocia el comando para reiniciar el servicio de crontab, siempre reiniciaba la instancia del servidor completamente.

Para quienes usamos Windows podemos usar este programita.

https://www.youtube.com/watch?v=xDxzpVBJ1rY

Es necesario lograr que el envío de correos se haga de manera automática pues no sería sostenible llamar comandos de manera manual. Para esto existe el Cron Job disponible en Linux y Unix que nos permite ejecutar una tarea cada cierto tiempo.
https://crontab.guru nos ayudará a traducir lo que necesitamos poner en el Cron.

Dentro de Linux todos los procesos que están corriendo son conocidos como servicios y cuando queremos recargarlos es necesario reconfigurar y reiniciar.

quienes esten usando laradock, el comando es … service cron restart

Aun que en hosting lo mínimo es 5 minutos

En el 2020 los cron jobs son super diferente a como lo hiciste ahí…