Laravel Scheduler自定义Cron表达式不起作用

时间:2017-06-03 09:14:50

标签: php laravel cron

我有两个laravel调度程序表达式调用,如下所示:一个带有自定义cron表达式,每3小时运行一次,每小时运行一次。

每次,每小时调度程序运行,但不运行自定义调用程序。它曾经工作,但停止工作。如果我直接从任何函数调用Poster1 :: post(),它就可以工作。

可以向我解释为什么它不起作用,何时更早?

First Scheduler:

    $schedule->call(function () {
        try {
            Poster1::post();                
        } catch (Exception $e) {

        }
    })->cron('0 */3 * * *');

第二个调度程序:

    $schedule->call(function () {
        try {
            Poster2::post();                
        } catch (Exception $e) {

        }
    })->hourly();

1 个答案:

答案 0 :(得分:1)

您可以使用Laravel调度程序功能每3小时运行一次。

$schedule->call(function () {
    try {
        Poster1::post();                
    } catch (Exception $e) {

    }
})
->hourly()
->when(function() { 
    return intval(date('H')) % 3 === 0;
});