Closed Seiger closed 2 years ago
Створення консольної команди описано https://github.com/evolution-cms/example-package#console. Щоб додати розклад, потрібно в файл команди додати метод schedule().
schedule()
/** * Define the command's schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ public function schedule(Schedule $schedule) { $schedule->command(static::class)->everyFiveMinutes(); }
В методі boot() сервіс провайдера ініціалізувати розклад.
boot()
if (count($this->commands)) { $this->app->booted(function () { $this->defineConsoleSchedule(); }); }
Додати необхідні методи в файл сервіс провайдера
/** * Define the application's command schedule. * * @note check timezones list timezone_identifiers_list() * * @return void */ protected function defineConsoleSchedule() { $this->app->singleton(Schedule::class, function ($app) { return tap(new Schedule('Europe/Kyiv'), function ($schedule) { $this->schedule($schedule->useCache('file')); }); }); }
/** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ public function schedule(Schedule $schedule) { foreach ($this->commands as $command) { (new $command)->schedule($schedule); } }
Налаштувати запуск крон * * * * * cd /path-to-your-project/core && php artisan schedule:run >> /dev/null 2>&1
* * * * * cd /path-to-your-project/core && php artisan schedule:run >> /dev/null 2>&1
Детальніше тут https://laravel.com/docs/9.x/scheduling
Створення консольної команди описано https://github.com/evolution-cms/example-package#console. Щоб додати розклад, потрібно в файл команди додати метод
schedule()
.В методі
boot()
сервіс провайдера ініціалізувати розклад.Додати необхідні методи в файл сервіс провайдера
Налаштувати запуск крон
* * * * * cd /path-to-your-project/core && php artisan schedule:run >> /dev/null 2>&1
Детальніше тут https://laravel.com/docs/9.x/scheduling