我正在使用带有 php5 的 larave 5.1,我尝试创建我的 cron 作业以及时删除未付发票,但我测试它以打印用户日志以帮助我知道该作业正在运行。
这是我的应用程序/控制台/Kernel.php
protected $commands = [
\App\Console\Commands\Inspire::class,
\App\Console\Commands\RemoveUnpaidInvoice::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('removeUnpaidInvoice')->everyMinute();
// $schedule->command('inspire')->hourly();
}
Run Code Online (Sandbox Code Playgroud)
这是我的 RemoveUnpaidInvoice 类:
public function handle()
{
UserLog::create([
'user_id' => '3',
'title' => 'Cron Testing',
'log' => 'Time : ' . date('H:i:s')
]);
}
Run Code Online (Sandbox Code Playgroud)
我的文件完成后,我在我的终端运行这个命令来运行我的 cron:
php artisan schedule:run
Run Code Online (Sandbox Code Playgroud)
在我运行 schedule artisan 命令后,我的终端显示此消息:
Running scheduled command: '/usr/bin/php5' 'artisan' removeUnpaidInvoice > '/dev/null' 2>&1 &
Run Code Online (Sandbox Code Playgroud)
我认为这是可行的,然后我检查我的数据库以查看是否创建了用户日志,并创建了用户日志,通过 cron 添加了新用户日志。
但问题是,我等了一分钟,没有添加用户日志,等 2 分钟、3 分钟或更长时间,我的数据库中没有添加其他用户日志?
如何解决?我弄错了吗??
这是您需要添加到服务器的唯一 Cron 条目:
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1这个 Cron 每分钟都会调用 Laravel 命令调度程序。然后,>Laravel 评估您的计划任务并运行到期的任务。
您需要启动 cron,而不是php artisan schedule:run在控制台中运行。
| 归档时间: |
|
| 查看次数: |
11067 次 |
| 最近记录: |