Я разрабатываю веб-приложение, используя Symfony 2.8. Мне нужно использовать Pingdom API для получения информации о некоторых веб-сайтах, которые контролируются Pingdom.Как выполнять повторные запросы API каждый раз в определенное время?
Я смог выполнить запрос на получение чеков определенного веб-сайта, используя ключ приложения и т. Д., Но мне нужно создать приложение реального времени, то есть мое веб-приложение должно постоянно выполнять запросы, используя API для получения новых значений для этих проверок.
Я думал, какие технологии лучше подходят для этой цели, но, честно говоря, после некоторых исследований я до сих пор не знаю, что использовать.
Я думал, что могу использовать веб-сайты напрямую, но, насколько я понял, веб-узлы «слушают» события, и в этом случае нет события (правильно?), То есть это должен быть «опрос» система».
Я просмотрел pusher, но это только кажется оберткой вокруг веб-сайтов.
Примечание:
Я в курсе webhooks в Pingdom, но и использовать их, они должны знать свой IP-адрес (насколько я понял, как webhook работы), но Конечно, я также хочу работать на местном уровне, и, таким образом, система «опроса» вместо «толкающей системы» - это путь.
У меня уже есть контроллер, который выполняет запросы API, и единственное, что я должен сделать, это делать запросы к этому контроллеру (с клиентской стороны ...), но я не уверен так как я никогда этого не делал.
Пожалуйста, только люди, которые имеют опыт работы с объектом, то есть с использованием API-интерфейсов и создания таких приложений реального времени, где API-интерфейсы сторонних поставщиков являются провайдерами.
Я знаю об этом факте я мог бы использовать как
setTimeout
и сделатьXmlHttpRequest
в мой контроллер, но, опять же, я действительно не знаю, если это «стандартный» способ сделать это.Я бы предпочел правильные инструменты вместо сырых, но на всякий случай, если первые хорошо ухаживают и работают хорошо.
Метод не обязательно должен ограничиваться этой конкретной ситуацией, действительно, это действительно должен быть метод всякий раз, когда возникает потребность в повторных запросах с использованием любого API.
Я знаю, что это длинный вопрос, который на самом деле можно было бы обобщить практически в одну линию, но я действительно хотел бы отметить мою ситуацию, и мои требования, позволяет сказать.
Могут быть, я не ясно, но как я могу обновить клиент на стороне приложение (веб-страница), используя этот метод? – nbro
Команда консоли symfony имеет доступ к контейнеру службы, поэтому в основном вы можете делать все, что хотите, т.е. вставлять данные в свой DB –
. Дело в том, что это веб-приложение клиент-сервер, я полагаю, что процесс неоднократно запрашивая обновления, должен выполняться на стороне клиента, потому что серверу не известно, кому он должен вернуть страницу, поэтому, возможно, моя проблема - это вопрос «setInterval» или «setTimeout» (с JS), но я не уверен, что это хорошая идея ... – nbro