1

以下で、大量の計算を行う R および Python スクリプトを呼び出す Node.js REST API を公開します。R と Python の計算を呼び出す前に、コールバックを識別し、このコールバックの特定のインスタンスを保存して、一意の ID を割り当て、ジョブの ID を含む高速応答を消費者に送信する必要があります。今後、コンシューマは ID を使用してジョブ/コールバックの状態を照会します。

これを管理するための最良のアプローチは何ですか? コールバックを識別し、一意の ID をデータベースに保存する方法は?

4

1 に答える 1

0

Celeryのような分散タスク フレームワークを使用する方法の 1 つです。リクエストを取得したら、タスクで負荷の高い計算を開始し、タスクの uuid を識別子として使用して、202 Acceptedレスポンスとリンクをクライアントに送り返します。このリンクを使用すると、API をたどって結果を見つけることができます。

タスク呼び出し内で、クライアントに送信したリンクの URI でアクセス可能な、まだ処理中であることを何らかの方法で通知する空のエンティティを作成します。タスクが終了したら、結果を保存します。

于 2013-11-09T18:40:36.547 に答える