2012-03-23 50 views
0

我正在開發一個簡單的JSON API,它將允許用戶將短片剪輯編碼成不同的格式。JSON API響應方法 - 如何在不保持連接的情況下發送響應

我現在正在努力解決的問題是如何在編碼完成時發送響應?假設平均編碼需要1分鐘。因此,保持連接1分鐘只是爲了發送帶有編碼電影URL的響應是毫無意義的。

客戶端發送帶有要編碼的影片剪輯的URL的JSON。服務器發送響應「好夥計,堅持一秒」並結束連接。

我想出的一種方法是給強制客戶端提供一個回調URL。編碼過程完成後,我的API可以將JSON發佈到該URL,併爲準備下載的編碼影片的地址。

您是否知道此方案的其他方法?我對這個回調網址不太確定。

回答

0

在這裏,我會做到這一點。我會使用3個URI:用於上傳原始視頻的衆所周知的固定URI,用於監視進度的臨時URI以及用於下載轉換的視頻的另一個臨時URI。我將返回一個Content-Location頭指示客戶端下一步去哪裏?

POST /轉換器輸出= AVI

HTTP/1.1 201創建

內容位置:/轉換器/工藝/ 12345

GET /轉換器/過程/ 12345

HTTP/1.1 200 OK

X-轉換器狀態:轉換

GET /轉換器/過程/ 12335

HTTP/1.1 200 OK

X-轉換狀態:完成

內容 - 位置:/converter/downloads/12345/myvideofile.avi

GET /converter/downloads/12345/myvideofile.avi

HTTP/1.1 200 OK

我會在一段時間後自動清理臨時資源。

+0

我在這裏看到的問題是連接仍然保持。在第二步(轉換)連接等待轉換結果,可能需要長達5分鐘。 – Pono 2012-03-24 10:28:10

相關問題