Как получить результат работы, пока он работает от контроллера? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь выполнить асинхронную задачу, которая заполняет массив объектов из вызова веб-службы REST.

Я пишу код внутри метода handle() внутри jobкласс.

Контроллер должен иметь возможность извлекать object из этого array в любое время.

Предполагается, что эта задача будет выполняться непрерывно , поэтомучто всякий раз, когда я хочу получить object, мой array все еще содержит данные.

Мой вопрос заключается в том, как сделать job, который выполняется постоянно и как я могу получить данные с моего контроллера?

Заранее спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

Вам необходимо хранить (кэшировать) массив из задания где-то (дБ, redis, файлы) после каждой операции.

Затем извлекать «свежий» массив в контроллере из хранилища.

Если объектыв массиве схожи, вы можете создать модель и использовать стандартные возможности laravel.

Для запуска постоянной задачи вы можете использовать эту консольную команду:

nohup php artisan {command_name} &
...