PHP学习笔记Laravel开发实践Laravel

Laravel框架学习笔记之任务调度(定时任务)

2018-08-11  本文已影响171人  赵客缦胡缨v吴钩霜雪明

在开发中,常常需要用到定时任务。就是在某个特定时间段执行你需要的功能,特别是在第三方支付中,在用户使用你的某些功能如:提现,转账等等,会用到T+1来给用户做交易,这里就需要定时任务。

Laravel简化了定时任务,以前,开发者需要为每一个需要调度的任务编写一个 Cron 条目;现在,Laravel 在框架里定义调度命令,并且服务器上只需要一个 Cron 条目即可。

* * * * * php  /path/to/artisan schedule:run >> /dev/null 2>&1 (php执行artisan命令,运行定时任务)

任务执行主体定义在app/Console/Commands 里。

任务调度定义在 app/Console/Kernel.php 文件的 schedule 方法中。

调度常用选项

->cron('* * * * *');在自定义Cron调度上运行任务

->everyMinute();每分钟运行一次任务

->everyFiveMinutes();每五分钟运行一次任务

->everyTenMinutes();每十分钟运行一次任务

->everyThirtyMinutes();每三十分钟运行一次任务

->hourly();每小时运行一次任务

->daily();每天凌晨零点运行任务

->dailyAt('13:00');每天13:00运行任务

->twiceDaily(1, 13);每天1:00 & 13:00运行任务

->weekly();每周运行一次任务

->monthly();每月运行一次任务

->monthlyOn(4, '15:00');每月4号15:00运行一次任务

->quarterly();每个季度运行一次

->yearly();每年运行一次

->timezone('America/New_York');设置时区

->weekdays();只在工作日运行任务

->sundays();每个星期天运行任务

->mondays();每个星期一运行任务

->tuesdays();每个星期二运行任务

->wednesdays();每个星期三运行任务

->thursdays();每个星期四运行任务

->fridays();每个星期五运行任务

->saturdays();每个星期六运行任务

->between($start, $end);基于特定时间段运行任务

->when(Closure);基于特定测试运行任务

当定时任务定义完成,可以使用artisan命令来检查和触发定时任务:

php artisan list  //检查定时任务代码是否存在错误

php artisan schedule:run  //运行定时任务

上一篇下一篇

猜你喜欢

热点阅读