首页 > 解决方案 > 如何在 Laravel 中为每隔一个星期三设置一个事件

问题描述

Laravel 有很多用于安排工匠命令的选项,但我一直试图让一个每隔一个星期三运行一次,但还没有找到正确的功能组合,你们中有人知道如何实现这一点吗?测试它?

谢谢!

标签: laravelcommandscheduled-tasks

解决方案


可以指定 crons 在一周中的某些日子运行。使用 Laravel 的调度程序,你可以每周三开始运行它,如下所示:

应用程序/控制台/Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('foo')
        ->wednesdays()
        ->when(function () {
            return Carbon::now()->weekOfYear % 2 == 0;
        });
}

编辑:使用when评论中建议的功能更漂亮。它在 1 个地方具有所有时间逻辑。


推荐阅读