所以我想用laravel schedule和php schedule运行一个任务:运行效果很好,但是它不能真正执行命令
有我的内核类
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 = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
//$schedule->exec('php artisan migrate:fresh')->everyMinute();
$schedule->command('migrate:fresh')->everyMinute();
}
}
以及php schedule的结果:运行
Running scheduled command: '/usr/bin/php7.2' artisan migrate:fresh > '/dev/null' 2>&1
答案 0 :(得分:2)
您需要创建CRON作业才能每分钟运行调度程序。
然后CRON将每分钟自动启动并运行您在kernel-> schedule函数中设置的任何命令。
您可以在Laravel documentation下的启动调度程序中找到详细信息