Вы можете использовать метод cron()
, чтобы указать это как пользовательское расписание:
$schedule->command('command:commandname')->cron('0 1,9,13,18 * * *');
Вы также можете запустить его ежечасно и вернуть код команды рано, если час не один изваши четыре.
public function handle() {
if(!in_array(now()->hour, [1, 9, 13, 18])) {
return;
}
// the rest of your command
}
(Вы хотели бы быть немного осторожнее с этим подходом. Если другие задания выполняются более чем за час до запуска этого задания, это может подтолкнуть его выполнение к следующему час, что может привести к пропуску. Маловероятно, но что-то нужно учитывать.)