У меня есть Sidekiq и работает в приложении RoR. Все работает отлично, а рабочие места стоят в очереди.Sidekiq Worker Pattern
Я видел много узоров, которые находятся в очереди на работу, но я интересуюсь этим рисунком, который я вижу в производстве и хорошо работает. Это идемпотент, может работать с несколькими работниками Sidekiq, а метод generate
делает магию ....
Любые мнения о том, хороший ли образец использовать ...?
класс MailerDeamon включают Sidekiq :: Работник
def perform(id)
# idempotent
email = Email::Message.find_by(id: id)
return unless email
return unless email.sent? # or something that marks it has been sent
email.begin_transmission!
end
def self.generate
Email::Message.triggered(60).ids.each do |id|
perform_async(id)
end
end
end
Спасибо