Laravel 5.5'没有计划的命令可以运行。

时间:2018-06-28 21:06:42

标签: php laravel-5 cron schedule laravel-scheduler

我安装了Laravel 5.5,并且正在尝试使调度程序运行。我正在运行以下cron作业,并且工作正常。

* * * * * php /var/www/html/project1/artisan schedule:run >> /var/www/html/project1/schedule.log

cron作业正在输出到日志文件,并且在cron中得到的结果与从命令行运行artisan schedule:run时得到的结果相同。结果始终是相同的,并且说没有计划的命令可以运行。当作业运行并且我得到输出时,问题似乎与cron无关。

我配置了简单的artisan inspire命令以在Laravel调度功能中运行。我可以使用php artisan inspire在命令行上运行inspire命令,它可以正常工作。我了解有关时区的所有文章,但这不是时区问题,该命令根本不会运行。我也没有使用withoutOverlapping(),所以这不是我的问题。因此,我每分钟运行一次cron作业以运行laravel计划,并且确实输出到我的日志中,这表明cron和Laravel正在通信。我认为问题一定是Laravel认为没有需要执行的命令。我不知道如何进一步调试它,所以我们将不胜感激。

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    protected $commands = [
        //
    ];

    protected function schedule(Schedule $schedule)
    {
        $schedule->command('inspire')
             ->everyMinute();
    }

    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

0 个答案:

没有答案