2015-01-14 46 views
0

我使用帆JS(節點JS框架),並運行它。節點JS - 更多關於<strong>Heroku的</strong>和<strong>本地</strong>超時問題

API函數從外部文件中讀取數據,並執行長時間的計算,這可能需要花費數小時才能讀取。

我擔心的是幾分鐘後它會返回超時。

我有2個問題:

  • 如何控制HTTP請求/響應超時(什麼纔是我真正需要在這裏控制?)
  • 被認爲是這個最佳實踐HTTP請求目標?或者我應該使用套接字IO? (好吧,我對Socket IO沒有經驗,也不確定我是不是在說廢話)。

回答

1

你應該使用工作模式來完成,將需要超過一秒鐘左右以上的任何工作。

「Web服務器應着眼於儘快服務於用戶的任何可能的不平凡的工作,可以放慢您的用戶體驗應該在Web進程之外異步完成。「

「流動

  1. Web和工作進程連接到同一個消息隊列。
  2. 的處理增加了作業隊列,並得到一個URL。
  3. 的工作進程接收並啓動
  4. 客戶端可以輪詢提供的url以進行更新
  5. 完成後,工作者將結果存儲在數據庫中。

+0

這是一個很好的參考,首先,它打開大門任務隊列和消息的世界。謝謝。 – user2867106

+0

'放慢你的用戶體驗',假設一個/結果顯示給用戶,而b /用戶在加載結果時等待。 – njzk2