Laravel: Agendamento de Tarefas

19 de Janeiro, 2018

Informática, Laravel, Linux, Open-Source, PHP, Programação, Servidores

Editar o ficheiro crontab do servidor para executar diversas tarefas em PHP é um processo chato especialmente para quem tem menos agilidade na gestão de sistemas ou até um problema de segurança nos casos em que os programadores não devem ter acesso aos servidores. Apresento agora uma solução bastante prática integrada no próprio Laravel chamada Task Scheduling.

Com o Task Scheduling basta adicionar apenas uma linha no seu ficheiro crontab e a partir daí poderá definir várias tarefas a serem executadas em horas, dias ou outros intervalos a partir do PHP e com toda a comodidade a que a framework Laravel nos habituou. Esta é a linha que devermos adicionar no nosso crontab:

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

A partir daqui tudo o resto será feito em PHP e está bem explicado na própria documentação do Laravel:

Task Scheduling
Laravel’s command scheduler allows you to fluently and expressively define your command schedule within Laravel itself. When using the scheduler, only a single Cron entry is needed on your server.