Никакие запланированные команды не готовы к запуску. Ларавель 8

#laravel #scheduler

Вопрос:

Я пытаюсь запускать команду каждую минуту с помощью планировщика, но планировщик:запуск печатает, что запланированные команды не готовы к запуску. сообщение. Как я понимаю, мне не нужно устанавливать cronjob, если я хочу протестировать shcedulder командой run. Любые предложения по решению этой проблемы приветствуются

Моя команда:

 /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'print:log';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Print in log';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        info('message from command');
    }
 

Kernel.php

     protected $commands = [
        'AppConsoleCommandsPrintLog',
    ];

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

Ответ №1:

Можете ли вы попробовать как?

        protected $commands = [
            CommandsPrintLog::class,
        ];
    
        protected function schedule(Schedule $schedule)
        {
            $schedule->command('print:log')->everyMinute();
        }
 

Комментарии:

1. Спасибо за предложение, но это тоже не дает желаемых результатов :/

Ответ №2:

Вы неправильно поняли. Читайте документы здесь.

schedule:run команда предназначена для производства — вы должны использовать ее с cronjob на сервере

schedule:work команда предназначена для локальной разработки и тестирования. Выполните эту команду в окне терминала и подождите одну минуту — ваше запланированное задание будет отправлено.