美文网首页
8.自定义命令及任务调度

8.自定义命令及任务调度

作者: darren911 | 来源:发表于2019-12-12 00:23 被阅读0次

任务调度

  • 你的任务调度在 app/Console/Kernel.php 的 schedule 方法中进行定义。为了帮助你更好的入门,这个方法中有个简单的例子。

定义调度

  • 在此例中,我们计划每天午夜调用一个闭包。在闭包中,我们会执行一个数据库查询来清空一张表:闭包具体是干嘛用的???声明场景使用???
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            DB::table('recent_users')->delete();
        })->daily();
    }

队列任务调度

job 方法可以用来调度 队列任务 。 此方法提供了一种快捷方式来调度任务,而无需使用 call 方法创建闭包来调度任务:

$schedule->job(new Heartbeat)->everyFiveMinutes();
// 分发任务到「heartbeats」队列...
$schedule->job(new Heartbeat, 'heartbeats')->everyFiveMinutes();

Shell 调度命令

exec 方法可用于向操作系统发送命令:
$schedule->exec('node /home/forge/script.js')->daily();

调度频率

->cron('* * * * *'); 自定义 Cron 计划执行任务
->everyMinute(); 每分钟执行一次任务
->everyFiveMinutes(); 每五分钟执行一次任务
->everyTenMinutes(); 每十分钟执行一次任务
->everyFifteenMinutes(); 每十五分钟执行一次任务
->everyThirtyMinutes(); 每三十分钟执行一次任务
->hourly(); 每小时执行一次任务
->hourlyAt(17); 每小时第 17 分钟执行一次任务
->daily(); 每天午夜执行一次任务(译者注:每天零点)
//???
->timezone('America/New_York'); 设置时区

时间范围限制

between 方法可用于限制任务在一天中的某个时间段执行:

$schedule->command('reminders:send')
                    ->hourly()
                    ->between('7:00', '22:00');

闭包检测限制

when 方法可根据检测结果来执行任务。换言之,若给定的闭包返回 true ,若无其他限制条件阻止,任务就会一直执行:

$schedule->command('emails:send')->daily()->when(function () {
    return true;
});

相关文章

  • 8.自定义命令及任务调度

    任务调度 你的任务调度在 app/Console/Kernel.php 的 schedule 方法中进行定义。为了...

  • Laravel 自定义命令及任务调度

    自定义命令 任务调度 添加调度器 这个 Cron 会每分钟执行一次 Laravel 的命令行调度器。当 sched...

  • Laravel artisan命令及任务调度

    Artisan 是 Laravel 自带的命令行接口名称,它为我们在开发过程中提供了很多有用的命令。除了Artis...

  • Linux任务调度

    crond任务调度 crontab用于定时任务的设置。任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度...

  • 30. 配置 Cron 调度器

    Laravel 提供了便利的方式来调度 Cron 任务,通过Artisan 命令 schedule:run ,调度...

  • Linux-7 任务调度

    crond 任务调度 crontab 进行定时任务的设置 概述 任务调度:是指系统在某个时间执行的特定的命令或程序...

  • Linux定时任务

    Crond 任务调度 任务调度:是指系统在某个时间执行的特定的命令或程序分类:系统任务:有些重要的工作必须周而复始...

  • 『学了就忘』Linux系统管理 — 11.系统任务调度工具ana

    6、任务调度工具anacron 在Linxu系统中,有三种用于任务调度的工具 at命令调用atd服务 cronta...

  • Spring中任务调度

    任务调度 任务调度即在特定的时间点执行指定的操作。任务调度本身设计多线程并发,运行时间规则制定及解析,运行现场保持...

  • Linux(十二)任务调度

    12.1 概述 任务调度:是指系统在某个时间执行的特定的命令或程序。 任务调度分类: 1、系统工作:有些重要的工作...

网友评论

      本文标题:8.自定义命令及任务调度

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