如何在 Laravel 中每隔一个星期三设置一次活动

How to set an event for every other Wednesday in Laravel

Laravel 有很多用于 artisan 命令调度的选项,但我一直试图让一个 运行 每隔一个星期三有一个,但没有找到正确的组合功能,你们有没有人知道如何实现这个,你测试了吗?

谢谢!

好吧,crons 可以指定为 运行 在一周的某些日子。 使用 Laravel 的调度程序,您可以像这样在每周三 运行 启动它:

app/Console/Kernel.php

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

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