#laravel #cron #scheduler
#laravel #cron #планировщик
Вопрос:
У меня есть expires_at
столбец в одной из моих моделей, и я хочу запустить планировщик на основе метки времени этого.
Я попробовал следующий код :
$collection = Foo::first();
$schedule->call( function() {
// Do Something
})->cron( CarbonCarbon::parse( $collection->expires_at )->format( 'i h d m' ) . ' *' );
Но когда я запускаю php artisan schedule:run
по истечении срока действия, я получаю No scheduled commands are ready to run.
Ответ №1:
Вместо вызова функции вы можете сделать это с помощью команды. Создайте команду для этого задания cron и затем вы можете указать, что schdeuler в schedule
методе kernel.php
schedule->command('command Name')
->cron( CarbonCarbon::parse( $collection->expires_at )->format( 'i h d m' ) . ' *' );
Надеюсь, это поможет 🙂