[英]Prioritizing jobs on Sidekiq
想象一下一個簡單的約會應用程序,它每天為您提供潛在的匹配機會。 用戶首次注冊時,會發生以下情況-
他們會收到一封電子郵件-“歡迎使用約會應用!”
一項自定義匹配工作開始,為他們找到當天的匹配項,並向他們發送電子郵件-“您有匹配項!”
如果我選擇大規模招募幾千人,則工作隊列將填充#1和#2的數千個工作。 在獲得比賽之前,他們必須首先接收電子郵件,這一點很重要,因為否則會帶來混亂的體驗。
我有 -
# config/sidekiq.rb
:queues:
- high_priority
- default
- low_priority
按照此頁面 ,這些隊列應按列出的順序進行處理。
此優先級如何工作? 在選擇default
或low_priority
隊列中的一項之前,是否排空了整個 high priority
隊列? 還是只是更頻繁地檢查,仍然允許同時處理一些優先級較低的作業?
作為#1的后續措施,是否有辦法確保特定用戶在收到匹配電子郵件之前會收到歡迎電子郵件? 前者將在high_priority
隊列中,而后者將在default
優先級中,但是不能保證任何一個隊列對用戶而言都是特定順序。
謝謝!
每次Sidekiq在Redis中尋找工作時,它將首先檢查high_priority,然后檢查默認值,再檢查low_priority。 只要存在高優先級的作業,默認情況下的作業就只會坐在那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.