Допустим есть внешний API, который парсит некоторые данные по запросу. Такой процесс парсинга может занять некоторое время, например 1 минуту +/-
Синхронная отправка запроса
Если отправить post запрос синхронно на этот удаленный API через http клиент через окно браузера или консоль то мы увидим как идет процесс ожидания ответа и в этот момент мы вынуждены ждать выполнения запроса и ничего не делать, иначе ничего не получим. Дальше приходить ответ и мы сохраняем его в переменную $response:
class HandleHttpPostRequest
{
public function handle()
{
$response = Http::post('https://api.example.com/endpoint', [
'data' => 'data',
]);
}
}
Асинхронная отправка запроса
Если отправить такой же запрос только асинхронно, используя очереди, то возможно ли получить результат в ответе (сохранить в переменную $response) и обработать на заднем фоне без ожидания на клиенте? Или очередь просто отправит запрос и ждать пока прийдет ответ через минуту не будет?