1

我有一个 Laravel 5.5 安装并试图让调度程序运行。我正在运行以下 cron 作业,并且工作正常。

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

cron 作业正在输出到日志文件,如果我从命令行运行 artisan schedule:run,我会在 cron 中得到相同的结果。结果总是一样的,并表示没有计划的命令准备好运行。当作业运行并且我得到输出时,问题似乎与 cron 无关。

我配置了简单的工匠启发命令以在 Laravel 调度功能中运行。我可以使用 php artisanspire 在命令行上运行激发命令,它工作正常。我了解所有有关时区的帖子,但这不是时区问题,该命令根本不会运行。我也没有使用 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');
    }
}
4

0 回答 0