我对一个奇怪的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很新,我不知道如何找到问题,这对我来说似乎是个错误...
任何帮助?
答案 0 :(得分:1)
你应该使用closure来每天执行这段代码而不是每次执行cron:
$schedule->call(function () {
Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS \of F Y h:i:s A'));
})->daily();