我对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 执行
CROM作业于2015年12月29日星期二下午03:33:01 执行
CROM作业于2015年12月29日星期二下午03:34:01 执行
CROM作业于2015年12月29日星期二下午03:35:01 执行
CROM作业于2015年12月29日星期二下午03:36:01 执行
CROM作业于2015年12月29日星期二下午03:37:01 执行
CROM作业于2015年12月29日星期二下午03:38:02 执行
CROM作业于2015年12月29日星期二下午03:39:01 执行
CROM作业于2015年12月29日星期二下午03:40:01 执行
所以每分钟,不管使用什么方法。事实上,使用daily()
或hourly()
根本没有区别。
除了对Laravel很陌生之外,我不知道如何找出一个问题,这对我来说似乎是一个bug…
有什么帮助吗?
您应该使用闭包来每天执行此代码,而不是每次执行cron:
$schedule->call(function () {
Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS 'of F Y h:i:s A'));
})->daily();