如何实现laravel调度任务
在过去。开发有必须在服务部上为每个任务生成单独的Con胆。而令人头提的是任务调度不受最代码控制,而且必须通过SSH连接到服务器上来增加Cron项目。
Laravel的命令调度程序允许你在L aravel中对命令调度进行清晰流畅的定义。并且在使用调度程序时,只需要在服务器上增加一条Cron项目即可。
OK,话不多说,上干货!
第一步在Console里面新建个文件夹名字自定义例如 Commands 里面新建一个php文件 名字自定义例如 Test.php 里面写上要定时的任务如下图:
然后进入 app/Console/Kernel.php
到这里代码完成
服务器段:
命令: crontab -e 进入定时任务界面如下图:
里面内容为服务器所有的定时任务
加一条数据开启定时任务:
* * * * * php / 项目的根路径 /artisan schedule:run >> /dev/null 2>&1
保存退出现在定时任务就已经完成了
定时任务:
定时任务限制条件
$schedule->command('emails:send')
->daily()
->before(function () {
// 任务开始...
})
->after(function () {
// 任务结束...
});
windows php artisan schedule:run 1>> NUL 2>&1
查看定时任务 tail -f /var/log/cron
* * * * * root cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.log 2>&1
* * * * * cd /object/laravel && /usr/local/php/bin/php artisan schedule:run >> /dev/null 2>&1
php的绝对路径