2012-08-22 187 views
0

,我有以下的工作流程我要尋找一個Rails應用程序:處理異步第三方HTTP請求

  • 解析傳入的請求
  • 構建第三方Web服務請求
  • 發送第三方請求
  • 排隊工人處理預期的響應
  • 處理響應一旦到達發送解析結果作爲迴應

  • 除了我正在使用的數據對象之外,還需要哪些模型? (例如隊列,工人,等等?)

  • 了標準的Rails控制器,我需要重新執行來完成呢?

所有結果通過JSON傳遞。

+0

如果你正在瀏覽一個web應用程序,你可以使用ajax方法去你自己的控制器來控制數據和輸出。我爲某個應用程序做了類似的特定前端javascript/ajax,但可以這樣做。 –

+0

這Rails應用程序不會有任何的前端,它會被其他Rails應用調用/其他類型的服務器(沒有客戶端應用程序/無瀏覽器),所以如果我能 –

+0

http://stackoverflow.com我會避免使用任何JS/questions/6643964/asynchronous-http-request-in-ruby這有幫助嗎? –

回答

0

即步驟#4 - 入隊工人來處理預期的反應是困難的。爲什麼不在收到回覆時排隊呢?

要處理的Web應用程序之外的反應,我的建議是要排隊的工人來處理作業,收到響應後。這似乎是最好的路線。

我能想到這樣做的唯一的其他方式,創建另一個應用程序處理的響應,併發送第三方針對這一應用程序,然後發送計算結果返回到你的web應用。

+0

我明白了你的觀點,但是如何確保在請求和響應之間保留關聯的數據?我是否需要自己堅持下去,它是否能夠繼續存在? –

+0

這真的取決於你的具體用例。假設你正在用你回來的一些數據更新用戶記錄。首先,用第三方不需要的數據更新用戶,然後讓後臺工作人員發送請求,獲取響應並更新該用戶需要的其他信息。 – Solomon