1

我正在使用Symfony 2.8 开发一个网络应用程序。我需要使用Pingdom API来获取有关 Pingdom 正在监控的某些网站的信息。

我能够请求获取某个网站的检查,使用应用程序密钥等,但是我需要创建一个实时应用程序,即我的网络应用程序应该不断地使用 API 请求获取新的这些检查的值。

我一直在考虑哪些技术应该更适合此目的,但老实说,经过一些研究,我仍然不知道该使用什么。

我以为我可以直接使用 websockets,但据我了解,websockets“监听”事件,在这种情况下没有事件(对吗?),即这应该是一个“轮询系统”。

我看过pusher,但这似乎只是 websockets 的包装。

笔记:

  1. 我知道 Pingdom 的 webhook,但要使用它们,他们需要知道我的 IP 地址(据我了解 webhook 的工作原理),但当然我也想在本地工作,因此“轮询”系统而不是“推动系统”是要走的路。

  2. 我已经有一个向 API 发出请求的控制器,我唯一应该做的就是向这个控制器发出请求(从客户端......),但我不确定,因为我从来没有做了这个。

  3. 请仅具有该主题经验的人,即使用 API 和创建此类实时应用程序,其中第三方提供商的 API 是提供者。

  4. 我知道我可以使用 like asetTimeout并对XmlHttpRequest我的控制器执行 a 的事实,但是,我真的不知道这是否是“标准”的做法。

  5. 我更喜欢合适的工具,而不是原始工具,但以防第一个工具维护良好并且运行良好。

  6. 该方法不必仅限于这种特殊情况,实际上,只要需要使用任何 API 进行重复请求,这实际上应该是一种方法。

我知道这是一个很长的问题,实际上几乎可以用一句话来概括,但我真的想指出我的情况,我的要求,可以说。

4

1 回答 1

2

您可以考虑编写一个控制台命令,与您的控制器做同样的事情,这样您就可以从控制台调用它。

然后,如果您使用的是 Linux 发行版,则可以使用crontab定期调用您的控制台命令,只要您愿意

如果您在 Windows 上,则可以使用计划任务

特别推荐:如果您需要将控制器放在命令之外,您可以考虑在服务中编写调用API的逻辑,以分解您的代码。

希望能帮助到你

于 2016-07-21T08:52:17.160 回答