まずはjavascriptとnode.jsの新機能ですだから、私の問題に対して、すてきで簡単な解決策が存在する可能性はかなり高いです。長いジョブ(javascript、node.js)を実行する第三者APIとの同期のベストプラクティス
私はジョブを開始するために第三者(REST)APIを呼び出す小さなnode.jsアプリケーションを持っています。 APIからの応答として、現在のジョブのステータスを要求するために使用できるキーのみを取得します。従属ジョブが2つあるので、自分のスタートを自分の側に同期させる必要があります。
例:http://host/start/A RESP:
ジョブズA & B.彼らは、これらのAPIを呼び出して起動することができます。 APIの戻り上記http://host/start/B
このような何か:
{
"job":"A",
"key":"someRandomKey"
}
その後、別のAPIがあり、(どんな仕事の)状態を確認するには:
: http://host/status/someRandomKey私が手にこのAPIの結果として、
{
"key":"someRandomKey",
"status":"[RUNNING|SUCCESSFUL|FAIL]"
}
ジョブAは、ジョブAが正常に終了した後にのみ起動できます。
そして今の質問:
効果的にジョブAの状態を同期する方法は?
ジョブAが開始されたら(私はジョブキーを取得しています)、ジョブAのステータスを定期的にチェックして成功しなくなるまでループを開始できます。ここでは、タイムアウトを使用して、10秒ごとに変更を確認しています。
しかし、私は信じられませんが、私にはより良い方法でそれを行うためのライブラリやツールはありません。ここに何か提案はありますか?
終了時を知るためにポーリングする必要がないAPIを設計するより良い方法がありますが、ステータス結果のためにAPIをポーリングすると、タイマーにポーリングする以外に他のオプションはありません。プレイする唯一のオプションは、それをポーリングする頻度です。 – jfriend00