Возврат данных из Laravel JobsPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Возврат данных из Laravel Jobs

Сообщение Anonymous »

TL;DR: Как я могу вернуть данные из задания в очереди, не сохраняя их нигде и не обрабатывая ситуацию, когда задание может выполняться более одного раза из-за повторных попыток? Или есть другой способ, если Джобс для этого не подходит?

Разрабатываю API на Laravel для мобильного приложения.
Методы будут отправлять запросы к другим API, объединять и фильтровать данные, изменять их структуру и т. д.
Одно из требований приложению следует отвечать не более 30 секунд или не отвечать вообще. Итак, мне приходится повторять просьбы столько, сколько у меня есть время. Я пытаюсь реализовать это с помощью очередей Laravel, и сейчас в моем классе Job есть что-то подобное:

Код: Выделить всё

private $apiActionName;

public function __construct($apiActionName)
{
$this->apiActionName = $apiActionName;
}

public function handle(SomeService $someService)
{
return $someService->{$this->apiActionName}();
}
И этот код действия в контроллере:

Код: Выделить всё

public function someAction()
{
$data = $this->dispatch(new MyJob($apiActionName));
return response()->json($data);
}
Да, я знаю, что возвращать ценность из задания — плохая идея, но ожидаю, что это возможно. Однако $this->dispatch() возвращает только идентификатор задания в очереди, а не результат метода handle.

Подробнее здесь: https://stackoverflow.com/questions/373 ... ravel-jobs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»