我的 Laravel 版本是 5.0.28,我在 cloud9 上构建,并且在我的 cron 中添加了这个命令:
My laravel version is 5.0.28, I build on cloud9, and I added this command to my cron:
#!/bin/bash
PATH=/usr/bin
* * * * * php /home/ubuntu/workspace/app/artisan scheduled:run 1>> /dev/null 2>&1
我在我的 Kernel.php
中添加了此代码.我参考了这个网站:https://laravel-news.com/2014/11/laravel-5-scheduler/
I added this code on my Kernel.php
. I referenced this site: https://laravel-news.com/2014/11/laravel-5-scheduler/
<?php namespace AppConsole;
use IlluminateConsoleSchedulingSchedule;
use IlluminateFoundationConsoleKernel as ConsoleKernel;
use AppHttpControllersApiController;
class Kernel extends ConsoleKernel {
protected $commands = [
'AppConsoleCommandsInspire',
];
protected function schedule(Schedule $schedule)
{
$schedule->call('ApiController@test_job')->hourly();
}
}
我等了一会儿还是不行,所以我尝试使用命令php artisan schedule:run
,我得到:没有准备好运行的预定命令.
代码>
I waited and it still didn't work, so I tried to use the command php artisan schedule:run
, and I got: No scheduled commands are ready to run.
我搜索并找到了这个答案:Laravel 5类不存在"使用调度器时
I searched and found this answer: Laravel 5 "Class does not exist" when using the scheduler
所以我修改了我的代码.另外,这段代码没有指定时间,所以我修改了我的 cron
来指定时间,但它仍然不起作用.我没有更多的想法.请帮忙.谢谢.
So I modified my code. Also, this code had no specified time, so I modified my cron
to specify a time, but it still doesn't work. I have no more ideas. please help. Thanks.
代码
$schedule->call(join('@', [ApiController::class, 'test_job']));
cron
0 0,3,6,9,12,15,18,21 * * * php /home/ubuntu/workspace/app/artisan schedule:run 1>> /dev/null 2>&1
30 1,4,7,10,13,16,19,22 * * * php /home/ubuntu/workspace/app/artisan schedule:run 1>> /dev/null 2>&1
Laravel 调度程序 适用于命令,而不适用于控制器方法:
Laravel scheduler works with commands, not with controller methods:
php artisan make:command PurchasePodcast
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class PurchasePodcast extends Command
{
protected $name = 'purchase:podcast';
public function fire()
{
// do stuff here
}
}
ConsoleKernel.php
添加命令:protected $commands = [
'AppConsoleCommandsPurchasePodcast',
];
$schedule->command('purchase:podcast')->hourly();
这篇关于Laravel 5 计划不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!