Сделайте команду laravel schedule в последний день месяца по времени - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь запустить команду в последний день месяца в 06:00, я пытался сделать это

$schedule->command('crawl')->when(function () {
return \Carbon\Carbon::now()->endOfMonth()->isToday();
})->at('06:00');

Он запускается в последний день, но «at» не работает. Есть идеи, как заставить его работать?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Вы можете запустить это; ежедневно вместо при функция

$schedule->command('crawl')->dailyAt('06:00')->when(function () {
    return \Carbon\Carbon::parse('last day of last month')->isToday();
});
0 голосов
/ 03 сентября 2018

Я бы просто использовал метод расписания monthlyOn(), потому что он дает вам возможность указывать на определенный день месяца и дневное время для выполнения команды. Используя функцию php date() для получения количества дней в месяце, это становится приятной задачей:

->monthlyOn(date('t'), '6:00');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...