Я озадачен странным поведением 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 ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:32:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:33:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:34:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:35:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:36:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:37:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:38:02
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:39:01
CROM JOB ВЫПОЛНЕН @ вторник, 29 декабря 2015 г., 15:40:01
так каждую минуту, независимо от используемого метода. Фактически используя daily()
или же hourly()
не имеет значения вообще.
Помимо того, что я новичок в Laravel, я не знаю, как выследить проблему, которая кажется мне чем-то вроде ошибки …
Любая помощь?
Вы должны использовать closure для этого, чтобы выполнять этот код ежедневно, а не для каждого выполнения cron:
$schedule->call(function () {
Utilsclass::log_line("CROM JOB EXECUTED @ ".date('l jS \of F Y h:i:s A'));
})->daily();
Других решений пока нет …