Представьте себе простое приложение для знакомств, которое дает вам потенциальный матч каждый день. Когда пользователи сначала регистрируются, происходит следующее:Приоритезация заданий на Sidekiq
Им посылают письмо - «Приветствуем приложение знакомств!».
Выполняется обычная подходящая работа, чтобы найти их в соответствие с днем и отправил им электронное письмо - «У вас есть матч!».
Если я решила массово зачислить несколько тысяч человек, очередь заданий будет заполнена несколькими тысячами заданий как # 1, так и # 2. Очень важно, чтобы они получили по электронной почте сначала, прежде чем получить соответствие, так как в противном случае это создает путаницу.
меня -
# config/sidekiq.rb
:queues:
- high_priority
- default
- low_priority
Согласно this page, эти очереди должны обрабатывать в перечисленном порядке.
Как эта приоритизация работает? Является ли целым
high priority
очереди высушены перед тем, как выбрать пунктdefault
илиlow_priority
очередей? Или он просто проверяется чаще, все еще позволяя обрабатывать некоторые задания с более низким приоритетом одновременно?В качестве продолжения № 1 существует ли способ гарантировать, что для конкретного пользователя, они получают приветственное письмо, прежде чем получат свой адрес электронной почты? Первый будет в очереди
high_priority
, а второй - в приоритетеdefault
, но нет никакой гарантии, что любая очередь находится в определенном порядке для пользователей.
Спасибо!