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

在开发中,常常需要用到定时任务。就是在某个特定时间段执行你需要的功能,特别是在第三方支付中,在用户使用你的某些功能如:提现,转账等等,会用到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  //运行定时任务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/利子 有病,可令人注意健康,并且生起道心,受苦,才知道奋发图强,并且改善因缘。 我是左手咖啡 右手诗篇的利子
    Angel利子阅读 245评论 0 1
  • 01 3月7日比特币价格下跌,跌至9864美元,突破一万美元。而此时此刻为9868.41美元,相比于2017年创下...
    小妖Troy阅读 126评论 0 1
  • 谢谢有人送我去车站。过年,回家。 谢谢闺蜜和她爸爸去等站接我。还未到家就收到妈妈说她在出差的路上不能见面的消息,她...
    镜伊呢阅读 156评论 0 0
  • 中国的土地纵横最多不过5000多公里, 从南到北, 从西到东 有的人认为这是通往未来的距离; 买张火车票,提着蛇皮...
    笑曰阅读 171评论 0 1
  • 本人是一名学生党,常常为生活苦恼,父母日夜辛劳,赚着微薄的薪资,想要为家里分忧,却是老虎吃天,无从下手,只能星期六...
    吾余悠悠阅读 461评论 0 1