Запланированная задача Laravel запускается только при входе в систему - PullRequest
0 голосов
/ 17 мая 2018

У меня есть запланированное задание в Kernel.php, которое вызывает метод с именем cronCache в userController. Запланированное задание запускается каждую минуту в Laravel Forge

Kernel.php

protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();
//check cache every 1 min
        $schedule->call('App\Http\Controllers\userController@cronCache')
            ->everyMinute();
    }

userController@cronCache:

   public function cronCache() {

        $vw = Cache::remember('userCountCache',10,function(){


            return $query = DB::table('vwUserCount')->first();
        });

    }

Этот метод кэширует запрос MySQL, и он успешно выполняется, но только когда я вошел в свое приложение. Как только я выйду из системы, задача прекратится. Когда я снова вхожу в систему, задача продолжает выполняться снова.

У меня есть другой метод в userController, который создает кэш того же запроса, если при загрузке моего представления его не существует. Я не знаю, относится ли это к делу, но я включаю это здесь:

public function showUserCache() {


        $vw = Cache::remember('userCountCache',3,function(){

            return $query = DB::table('vwUserCount')->first();
        });

        $userCount = $vw->userCount;
        return view ('backend.user_summary', compact('userCount'));


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...