无论调用何种方法,Laravel 5任务计划都会运行一个任务计分

时间:2015-12-29 15:51:42

标签: php laravel cron laravel-5 laravel-scheduler

我对一个奇怪的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 JOB EXECUTED @ 2015年12月29日星期二03:32:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:33:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:34:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:35:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:36:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:37:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:38:02

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:39:01

     

CROM JOB EXECUTED @ 2015年12月29日星期二03:40:01

所以每分钟,无论使用何种方法。事实上,使用daily()hourly()完全没有任何区别。

除了对Laravel很新,我不知道如何找到问题,这对我来说似乎是个错误...

任何帮助?

1 个答案:

答案 0 :(得分:1)

你应该使用closure来每天执行这段代码而不是每次执行cron:

$schedule->call(function () {
            Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS \of F Y h:i:s A'));
        })->daily();