前言
Allows identical sidekiq jobs to be processed with a single background call
上述引用自 sidekiq-grouping,能將多個同 queue 的 worker 整合成一個處理
說明
直接以情境舉例,假如要打 API 更新第三方庫存數量,由於更新商品數量有加也有減,因此先 grouped 起來,整合成一個 job 處理
實作
在 Gemfile 中加入該 sidekiq-grouping,範例可參考此 pr
1 | # config/routes.rb |
接著在 rails console
輸入
1 | # 當 batch_unique: true |
當 batch_unique: true
當 batch_unique: false
或沒寫
Web UI
在 routes.rb
檔案中加入 require "sidekiq/grouping/web"
小結
蠻好上手的一個 Gem,在 GitHub 的範例也寫得淺顯易懂,連測試也有範例,這邊就不多加贅述
參考資料
鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10264578
medium 文章連結:https://link.medium.com/0SSdkIm2Mjb
本文同步發布於 小菜的 Blog https://riverye.com/
備註:之後文章修改更新,以個人部落格為主