美文网首页PHP学习笔记Laravel开发实践Laravel
Laravel框架学习笔记之任务调度(定时任务)

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

作者: 赵客缦胡缨v吴钩霜雪明 | 来源:发表于2018-08-11 14:03 被阅读171次

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

    相关文章

      网友评论

        本文标题:Laravel框架学习笔记之任务调度(定时任务)

        本文链接:https://www.haomeiwen.com/subject/akjlbftx.html