2

我对奇怪的 Laravel 5 行为感到困惑。我将此添加到\app\Console\Kernel.php

protected function schedule(Schedule $schedule)
{
    //$schedule->command('inspire')->hourly();
    $schedule->command(Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS \of F Y h:i:s A')))->monthly();
}

我希望每月在我的日志上看到一次活动,但这是我在 log.txt 上得到的:

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:32:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:33:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:34:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:35:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:36:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:37:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:38:02

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:39:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:40:01 PM

所以每一分钟,不管使用什么方法。实际上使用daily()hourly()根本没有区别。

除了对 Laravel 很陌生之外,我不知道如何解决问题,这对我来说似乎是一个错误......

有什么帮助吗?

4

1 回答 1

1

您应该使用闭包来每天执行此代码,而不是每次执行 cron:

$schedule->call(function () {
            Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS \of F Y h:i:s A'));
        })->daily();
于 2015-12-29T15:58:34.303 回答