как получить оперативные данные из REST API с помощью guzzle

Я новичок во всей прямой трансляции данных. Я создаю веб-сайт на laravel 5.1, и мне нужно получить оперативные данные из REST API, а после внесения некоторых изменений передать результат своим пользователям. Я использую pusher для передачи данных своим клиентам. и я подумал, что мне следует использовать Guzzle и/или CURL для получения данных из API. но я не понимаю, как получить данные в реальном времени из API? Есть ли в guzzle опция, которая будет постоянно держать соединение открытым, или мне нужно создать задание для выполнения кода жрать каждые несколько секунд? Я знаю, что мы используем веб-сокеты для создания постоянного соединения между сервером и клиентами для передачи данных в реальном времени. но как создать постоянное соединение между сервером API и моим сервером для передачи данных?

Спасибо друзья заранее, буду признателен за любую помощь :)


person Mahla Mohammadi    schedule 23.11.2017    source источник


Ответы (1)


Это зависит от API, который вы используете. Если это обычный REST API, то нет вариантов сделать "живой" отлов. Подтягивайте API только периодически.

Ваш поставщик API может поддерживать веб-перехватчики, веб-сокеты или некоторые другие технологии для модели push. Зависит от провайдера, как я уже сказал.

person Alexey Shokov    schedule 24.11.2017
comment
спасибо Алексей. теперь, когда вы говорите периодически тянуть API, что это значит? например, создание задания для получения данных каждые несколько секунд, или есть другие (лучшие) способы. Как я уже упоминал ранее, я мало разбираюсь в этих темах, но выполнение задания каждые пару секунд не кажется таким хорошим? или, может быть, это так, и это не так сильно влияет на сервер, как я думаю. - person Mahla Mohammadi; 25.11.2017
comment
Да, я имею в виду некую периодическую работу по подтягиванию API. Обычные HTTP-запросы. Да, это влияет на сервер, но это самое общее решение. Как я сказал выше, ваш поставщик API может поддерживать модель push в некоторых случаях (WebSocket, веб-перехватчики). Ищите в документации или спрашивайте у них. - person Alexey Shokov; 27.11.2017