2012-03-23 5 views
0

私は簡単なJSON APIを開発しています。これにより短いムービークリップをさまざまな形式にエンコードできます。JSON APIレスポンスアプローチ - 接続を維持しないでレスポンスを送信する方法

私が現在苦労している問題は、エンコードが完了したときの対応方法です。平均エンコーディングに1分かかるとします。だから、エンコードされた映画のURLで応答を送るだけで1分間の接続を維持することは無意味です。

クライアントは、エンコードするムービークリップのURLを指定してJSONを送信します。サーバーは「ok dude、hold on a sec」という応答を送信し、接続を終了します。

私が考え出したアプローチの1つは、クライアントにコールバックURLを提供するように強制することです。エンコード処理が終了すると、私のAPIはダウンロード用に準備されたエンコードされたムービーのアドレスでそのURLにJSONをポストできます。

このシナリオの他の方法は知っていますか?私はこのコールバックURLについてはあまり確信していません。

答えて

0

ここで私はそれをやります。 3つのURIを使用します:元のビデオをアップロードするためのよく知られた固定URI、進行状況を監視するための一時URI、変換されたビデオをダウンロードするための別の一時URI。 ?私はどこ次に行きのクライアントを示すために、コンテンツ-Locationヘッダを返します:=

POST/Aコンバータの出力をAVIを

HTTP/1.1 201作成さ

のContent-場所:/ Aコンバータ/プロセス/ 12345

GET /コンバータ/プロセス/ 12345

HTTP/1.1 200 OK

X-変換ステータス変換

GET/Aコンバータ/プロセス/ 12335

HTTP/1.1 200 OK

X-変換ステータス:完了

のContent-場所:/converter/downloads/12345/myvideofile.avi

GET /converter/downloads/12345/myvideofile.avi

HTTP/1.1 200 OK

私は一時的なリソースを一定時間後に自動的にクリーンアップします。

+0

私がここに見る問題は、接続がまだ維持されていることです。 2番目のステップ(Converting)では、最大5分かかる結果の変換を待機します。 – Pono

関連する問題