任务调度甚至无法手动进行

时间:2018-09-08 16:19:14

标签: laravel task scheduled-tasks

我用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) 功能中。 怎么了?

1 个答案:

答案 0 :(得分:1)

hourly()表示每小时(0分钟)每小时运行一次

https://laravel.com/docs/5.6/scheduling#schedule-frequency-options

schedule:run不是要手动运行,而是要作为cronjob每分钟运行一次。

https://laravel.com/docs/5.6/scheduling#introduction