#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
команда предназначена для локальной разработки и тестирования. Выполните эту команду в окне терминала и подождите одну минуту — ваше запланированное задание будет отправлено.