我用laravel编写了任务计划。当我运行命令
php artisan日程:运行
它没有执行任务,并且说没有计划的命令可以运行。这是我的任务:
$schedule->call(function () {
$now = new \DateTime();
$premiums = User::where('account_type' , 'premium')->get();
foreach ($premiums as $user){
$user->account_type = 'basic';
$user->save();
$pr_time = new \DateTime($user->premium_time);
if ($pr_time < $now ){
$user->account_type = 'basic';
$user->save();
}
}
})->hourly();
此代码在受保护的功能时间表(时间表$ schedule) 功能中。 怎么了?
答案 0 :(得分:1)
hourly()表示每小时(0分钟)每小时运行一次
https://laravel.com/docs/5.6/scheduling#schedule-frequency-options
schedule:run不是要手动运行,而是要作为cronjob每分钟运行一次。