[英]Handle long-running request from Swift Client in Node.js
所以我目前正在使用 socket.io 作為加載屏幕,但它無法正常工作,所以我將嘗試不同的解決方案。 我需要發生以下情況:用戶打開我的應用程序——這會在服務器端觸發 function(CPU 密集型抓取 function 大約需要 8 秒)。 一旦 function 完成,我需要通知客戶端 function 完成並且客戶端獲取結果(獲取此結果后,應用加載屏幕關閉並且用戶進入應用)。
我當前的實現是使用 socket.io 排放並在后台線程上通過 Redis 隊列處理抓取 function。
是否有不同的方法來執行此操作,而不是使用套接字連接並從客戶端-> 服務器發送發射,反之亦然?
我認為我不能只處理經典的 GET 請求,因為在等待響應的同時讓長時間運行(8 秒)的請求打開這么長時間不是不好的做法嗎? 另外,我查看了服務器發送的事件,但我不確定在這種情況下是否能夠使用它。
非常感謝任何見解!
來自“健康”服務器的響應比正常時間長 8 秒,但應該沒問題。 我只是使用來自移動客戶端的 GET,並將其寫入以在等待時不阻塞 UI。
編寫您的 UI,以便通知用戶它正在等待響應,甚至可能讓用戶了解響應可能需要多長時間。
有幾點要記住。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.