我设置了一个生成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();
}
}
我错过了什么吗?
非常感谢任何帮助!
非常感谢提前!
答案 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找到答案。