如何每月安排两次任务

时间:2018-06-06 06:03:28

标签: laravel-5

$schedule->command('sitemap:sitemap_xml_generate')->monthly();

在上面的命令中我们可以每月调查一次,如果我想安排每月两次或15天一次,我该怎么写呢?

2 个答案:

答案 0 :(得分:1)

您可以将daily()when()方法一起使用,并在when内为您的任务添加合适的约束。例如,每个月运行任务1,7,20天:

$schedule->command('sitemap:sitemap_xml_generate')->daily()->when(function () 
{
    $days = [1,7,20];
    $today = Carbon::today();

    return in_array($today->day, $days);
});

答案 1 :(得分:1)

更新:可以正常工作。我要在每月的3月和18日执行cron工作。

$schedule->command('sitemap:sitemap_xml_generate')->cron('0 0 3,18 * *');

cron('0 0 3,18 * *')->参数为“分钟小时日(我们可以指定多个日期,以逗号分隔)月年”