Длинный цикл Laravel по многим объектам, отсылающим задания, истекает. - PullRequest
0 голосов
/ 15 октября 2018

У меня 500 пользователей.Я должен просмотреть их все и назначить разные вещи, отправить им электронное письмо ...

Для каждого пользователя я отправляю электронное письмо, обрабатывая некоторые элементы API.Время вызова истекает через 30 секунд.

Я нахожусь в Forge и у меня работает Redis.Я очень незнаком с очередями заданий и тому подобным, так что простите noob.

Моя функция handle () в задании:

public function handle()
{
    Log::info('hit the job');
// assign something
// hit an api and add something to the user
// send the user and email
// save user      

}

Я звоню из контроллера:

 public function activateCohort(Request $request, $id)
{
    // Get some stuff

    foreach($users as $u){
         // do something 

            ProcessActivation::dispatch($u);    
    }


    // save some stuff


    return redirect()->back()->with('message-success', 'message');
}

Все работает нормально.Но это только около 50 пользователей.В будущем мне нужно, чтобы это работало для пользователей 1k, 2k, 5k.

Я также не уверен, как увидеть, как работает redis.

Я в недоумении, как структурировать призыв к работе.Любая помощь с благодарностью.

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