Почему 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

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

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

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

Войти через центр авторизации
Похожие вопросы