我在app/console的kernel.php中安排了这些命令/
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')->everyMinute();
$schedule->command("trustpilot:send")->everyMinute();
$schedule->command("run:status")->everyFiveMinutes();
}
当我运行php artisan schedule:run时,会收到以下消息:
没有准备好运行的调度命令。
这很奇怪,因为如果我转储$schedule->duevents($this->app),我会得到一个包含事件inspire和trustpilot:send的列表。
我试图在/vendor/laravel/framework/src/illuming/console/scheduling/scheduleruncommand.php中转储duevents列表,但这里的列表是空的?是吗?
/**
* Execute the console command.
*
* @return void
*/
public function handle()
{
dd($this->schedule->dueEvents($this->laravel)); <---- EMPTY?
foreach ($this->schedule->dueEvents($this->laravel) as $event) {
if (! $event->filtersPass($this->laravel)) {
continue;
}
.....
以前有人经历过吗?
最佳答案
我得到了它!
在应用程序的引导命令中,我运行了以下命令:
Artisan::call('....');
它重写旧的schedueler实例,这就是duevent列表为空的原因。
我移除了线路,然后开始工作:)
关于php - Laravel Scheduler未运行命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57079431/