首先,我对 javascript 和 node.js 还很陌生。所以很可能会有一些很好且简单的解决方案来解决我的问题。
我有一个小型 Node.js 应用程序,它调用第 3 方 (REST) API 来启 Action 业。 作为 API 的响应,我只得到一个可用于请求当前作业状态的 key 。有两个相关作业,因此我需要在我这边同步它们的启动。
示例:
作业 A 和 B。它们可以通过调用以下 api 开始:http://host/start/A分别。 http://host/start/B
以上 API 返回的内容如下:
{
"job":"A",
"key":"someRandomKey"
}
然后还有另一个 API,用于检查(任何作业)的状态:http://host/status/someRandomKey
通过这个 API,我得到:
{
"key":"someRandomKey",
"status":"[RUNNING|SUCCESSFUL|FAIL]"
}
只有在作业 A 成功完成后,我才能开始作业 B!
现在的问题是:
如何有效同步作业A的状态?
一旦作业 A 启动(我获得了作业 key ),我就可以启动一个循环来定期检查作业 A 的状态,直到它不成功。在这里,我可能会使用超时,每 10 秒检查一次更改。
但我不敢相信,没有任何库或工具可以更好地为我做到这一点。这里有什么建议吗?
最佳答案
同意@jfriend00,如果您无权修改 api,那么轮询是唯一的选择。 您可以使用一些插件来更轻松地集成,例如 Smartupdater
关于javascript - 与运行长作业的第三方 API 同步的最佳实践(javascript、node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290803/