Más con Symfony

13.16. Utilizando las tareas con un Crontab

La mayoría de sistemas UNIX y GNU/Linux permiten planificar tareas mediante un mecanismo denominado cron. El cron dispone de un archivo de configuración (un crontab) en el que busca los comandos que se deben ejecutar en cada momento. Las tareas de Symfony se pueden integrar fácilmente en un crontab y la tarea project:send-emails es un candidato perfecto para un ejemplo de este tipo:

MAILTO="[email protected]"
0 3 * * *       /usr/bin/php /var/www/yourproject/symfony project:send-emails

La configuración anterior le indica a cron que debe ejecutar la tarea project:send-emails todos los días a las 3 de la mañana y que envíe cualquier mensaje que se produzca (avisos, errores, etc.) a la dirección [email protected].

Nota Si quieres más información sobre el formato del archivo de configuración de crontab, ejecuta el comando man 5 crontab es una consola de comandos.

También es posible pasar opciones y argumentos a la tarea programada:

MAILTO="[email protected]"
0 3 * * *       /usr/bin/php /var/www/yourproject/symfony project:send-emails --env=prod --application=frontend

Nota Debes reemplazar /usr/bin/php por la localización del archivo binario de PHP ejecutable desde la línea de comandos. Si desconoces su localización, puedes ejecutar which php en los sistemas Linux y whereis php en la mayoría de sistemas UNIX.