我們正在Django中創建一個Web服務(RESTful API)。我們的API將包裝我們自己的內部數據以及我們的Web服務層將訪問的一些其他API。如何提供一個包裝同步API的異步RESTful API
我們正在使用的API之一有一些長時間運行的調用,它們在一分鐘內不返回HTTP響應。 API具有單獨的API調用來獲取當前操作的狀態,但這意味着用戶必須啓動長時間運行的操作,然後進行單獨的進程輪詢狀態。我們不希望我們的API以這種方式工作,我們希望最初的請求只返回一個響應,說它正在進行中。
所以我們想要做的是當我們得到一個長時間運行的請求時,我們會異步啓動我們自己的HTTP請求到API,然後返回一個響應。然後,每次我們進行狀態調查時,我們都會通過並回復我們得到的回覆。當我們收到操作完成的回調時,下次我們進行狀態輪詢時,我們只會迴應操作已完成並返回數據。這意味着我們需要處理傳入狀態請求的處理程序來檢查正在進行的長時間運行的請求的列表以響應狀態。
這似乎是一個合理的方式來處理這個?我們應該考慮哪些python庫使這種事情更容易?我們不確定是否要使用低級別的事件或扭曲的東西,或者像芹菜那樣重一點的東西。芹菜似乎是這種事情的正常建議,但我不能100%確定它的位置。
感謝, 斯賓塞