#laravel #command #scheduled-tasks
#laravel #команда #запланированные задачи
Вопрос:
В Laravel есть много опций для планирования команд artisan, но я пытался заставить его запускаться каждую вторую среду и не нашел правильной комбинации функций, у кого-нибудь из вас есть идея о том, как этого добиться, вы ее тестировали?
Спасибо!
Ответ №1:
Ну, cron можно указать для запуска в определенные дни недели. Используя планировщик Laravel, вы можете запускать его каждую среду следующим образом:
app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('foo')
->wednesdays()
->when(function () {
return Carbon::now()->weekOfYear % 2 == 0;
});
}
редактировать: использование when
функции, предложенной в комментариях, красивее. У него есть вся временная логика в 1 месте.
Комментарии:
1. Я попытаюсь объединить его с помощью функции when()