流明任务调度everyMinute不起作用?

时间:2017-06-12 08:03:46

标签: php laravel cron lumen

我设置了一个生成PDF的命令,其中包含一些统计信息,并将pdf作为附件发送到电子邮件中。当我在控制台中手动运行时,该命令运行良好。

php artisan send:report

现在我正在尝试设置此命令在每个月的最后一天执行。为了测试,我已将调度程序设置为everyMinute但是当我运行php artisan schedule:run时,我运行命令时只发送一次电子邮件而不是每分钟发送一次。

我在这里做错了吗?

Lumen中的My Kernel.php文件

<?php

namespace App\Console;

use App\Console\Commands\SendReport;
use Illuminate\Console\Scheduling\Schedule;
use Laravel\Lumen\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        SendReport::class,
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('report:send')->everyMinute();
    }
}

我错过了什么吗?

非常感谢任何帮助!

非常感谢提前!

3 个答案:

答案 0 :(得分:2)

请确保这是在您的服务器上的Cron条目,如文档中所述

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

答案 1 :(得分:1)

我认为您需要在crontab中设置条目。请参阅此处:https://laravel.com/docs/5.4/scheduling并向下滚动至启动计划程序。

答案 2 :(得分:0)

需要添加一个cronjob来运行schedule:run命令:

this issue找到答案。