Неблокирующие вызовы в PHP с помощью клиента REST API GuzzleHttpPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Неблокирующие вызовы в PHP с помощью клиента REST API GuzzleHttp

Сообщение Anonymous »

Я хотел бы выполнить неблокирующий вызов REST API, используя PHP-библиотеку GuzzleHttp.
  • У меня есть сервер REST API (

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

    http://api.example.com/v1/wait
    )
  • Код: Выделить всё

    waitМетод 
    ничего не делает, кроме сна(10).
  • Я запускаю следующее из PHP CLI с параметром Future:

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

$client = new \GuzzleHttp\Client;
$response = $client->get('http://api.example.com/v1/wait', [
'future' => true,
'body' => [
'some' => 'var'
],
]);
echo 'OK';
Я ожидаю, что «ОК» отобразится немедленно, не дожидаясь завершения вызова REST API. Вместо этого выполнение приостанавливается на 10 секунд — это продолжительность сна() в методе REST wait().

Согласно документации Guzzle:


Вы можете отправлять асинхронные запросы, установив для параметра будущего запроса значение true


Меня не интересуют обратные вызовы завершения вызова, все, что я хочу, это дать API какую-то (возможно, медленную) задачу для работы и продолжения жизни.

Я также попробовал собственный мультизапрос cURL, несколько других библиотек - результат тот же. Выполнение заблокировано, ожидание ответа от сервера API.

Итак, в чем может быть проблема?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/295 ... api-client
Ответить

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

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

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

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

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