Задать вопрос

Почему CRON — schedule:run выполняет команду один раз?

Не могу заставить выполняться команду каждую минуту
class Kernel extends ConsoleKernel
{
    protected $commands = [
        'App\Console\Commands\CheckSite',
    ];

    protected function schedule(Schedule $schedule)
    {
        $schedule->command('check:site')->everyMinute();
    }

и сама команда:
namespace App\Console\Commands;

use Illuminate\Console\Command;

class CheckSite extends Command
{
    protected $signature = 'check:site';

    protected $description = 'The console command description.';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
       // dd('test');
        Log:info('чек сайт');
    }
}

при запуске php artisan schedule:run

Команда отрабатывает один раз и финиш, дальше не хочет

Подскажите где ошибка?
  • Вопрос задан
  • 380 просмотров
Подписаться 2 Простой 11 комментариев
Пригласить эксперта
Ответы на вопрос 2
@Kostik_1993
Web Developer
Подскажите где ошибка?
Если бы вы хоть на секунду задумались о том что вам пишут. Эта команда которую вы пишете одноразовая. Чтобы она запускалась каждую минуту вы в консоли должны ее каждую минуту запускать. Но так как на боевом сайте вы не сможете этого делать вам нужно эту команду запускать через cron. В документации есть все для этого. Но что такое cron вам сначала нужно изучить
Ответ написан
Комментировать
@art055
https://github.com/spatie/laravel-cronless-schedule
Только добавлю такую библиотеку для автора, который не хочет на сервере указать команду чтобы тот всегда выполнялся
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы