laravel 调度生成无效的 cron 值

问题描述 投票:0回答:1

我在 Laravel 中调度任务时遇到问题,“0 12 * * 不是有效的 CRON 表达式” 这是 Cron\CronExpression::setExpression() 的例外,但我不知道为什么

这个问题从上周开始,显然没有具体原因

private function scheduleTask(Schedule $schedule, $task, $frequency, $hour = null, $condition = null){
    if ($frequency === 'dailyAt' || $frequency === 'lastDayOfMonth'){
        $schedule->job(new RunScheduledTask($task->tasId))
                 ->timezone('America/Sao_Paulo')
                 ->$frequency($hour);
    } else if ($frequency === 'monthlyOn' || $frequency === 'weeklyOn'){
        $schedule->job(new RunScheduledTask($task->tasId))
            ->timezone('America/Sao_Paulo')
            ->$frequency($condition, $hour);
    }else if($frequency === 'everyMinute'){
        $schedule->job(new RunScheduledTask($task->tasId))
            ->everyMinute()
            ->environments(['local'])
            ->timezone('America/Sao_Paulo');
    }
}

异常

我验证了函数中传递的参数,它们都是正确的

laravel
1个回答
0
投票

我会仔细检查传递到您的

$hour
变量中的值。
$hour
的值需要是格式为 'H:i' 的字符串,其中 H 是小时,i 是分钟,例如 '12:00'。

© www.soinside.com 2019 - 2024. All rights reserved.