【发布时间】:2015-12-29 22:59:13
【问题描述】:
想象一个简单的约会应用,它每天都会为您提供潜在的匹配。当用户首次注册时,会发生以下情况 -
他们会收到一封电子邮件 - “欢迎使用约会应用!”
一项自定义匹配作业开始为他们找到当天的匹配项并向他们发送一封电子邮件 - “你找到了匹配项!”
如果我选择批量注册数千人,则作业队列将填充 #1 和 #2 的数千个作业。在获得比赛之前首先收到电子邮件很重要,否则会造成混乱的体验。
我有 -
# config/sidekiq.rb
:queues:
- high_priority
- default
- low_priority
根据this page,这些队列应按列出的顺序处理。
这种优先级如何工作? 整个
high priority队列在选择default或low_priority队列中的一项之前是否已耗尽?还是只是更频繁地检查,仍然允许同时处理一些优先级较低的作业?作为#1 的后续措施,有没有办法确保对于特定用户,他们在收到匹配电子邮件之前收到欢迎电子邮件?前者将在
high_priority队列中,而后者在default优先级中,但不能保证任何一个队列对于用户来说都是任何特定的顺序。
谢谢!
【问题讨论】:
标签: ruby-on-rails email queue sidekiq