2015-10-17 69 views
0

我目前使用beanstalkd和node.js來執行服務。 我想在工作失敗時重試n次,然後再放棄工作。 如果工作成功,我想要做同樣的工作10次。 那麼,最好的做法是,在mongo db中存儲jobId錯誤和成功計數,或者刪除並放入一個新的工作,其中包含錯誤和成功計數。最佳實踐beanstalkd(隊列)和node.js

我不知道我是否清楚?所以告訴我,非常感謝

+0

好的非常感謝很多 –

回答

0

你有幾個方法可以做到這一點:

  • 可以釋放作業,並從統計獲得的儲備數量
  • ,你可以把一個新的工作與重試計數,並跟蹤數據有效負載中的歷史記錄

您應該做的更晚,並且不需要MongoDB作爲第二個依賴項。

+0

非常感謝答案,但如果我釋放我不知道hon許多錯誤和多少成功只是總髮布數沒有? –

+0

比你可以跟蹤消息JSON – Pentium10

0

還有一個stats-job <id>\r\n也應該可以通過API庫獲得,該庫返回特定作業被保留,釋放,隱藏等等的次數。

這允許通過檢查先前的保留/釋放來對失敗的作業進行多次重試。

爲了多次運行相同的工作,我會自己創建一個額外的工作,成功次數然後會增加(進入另一個新工作) - 或者,所有九個新工作,在可選延遲開始之前。