如何在没有设计异步的情况下使用带有设计的 sidekiq 发送电子邮件

niz*_*niz 2 devise sidekiq ruby-on-rails-4

我目前正在开发一个 rails 4 应用程序。我使用设计进行身份验证。我想使用 Sidekiq 发送电子邮件。我找到了这个教程https://github.com/mperham/sidekiq/wiki/Devise但我不知道我应该把队列的名字放在哪里。谁能帮我一个要点。谢谢

aab*_*iro 6

将 Sidekiq 添加到 Rails 应用程序后(请参阅入门链接)为了将设计与 Sidekiq(不带设计异步)一起使用,您可以使用 ActiveJob 中内置的 Rails。将此覆盖功能放在设计实现的模型中:

 def send_devise_notification(notification, *args)
  devise_mailer.send(notification, self, *args).deliver_later
 end
Run Code Online (Sandbox Code Playgroud)

使用 ActiveJob 配置 Sideiq

# config/application.rb

class Application < Rails::Application
  # ...
  config.active_job.queue_adapter = :sidekiq
end
Run Code Online (Sandbox Code Playgroud)

并为 Sidekiq 设置邮件队列

# config/sidekiq.yml

---
:concurrency: 1
:queues:
  - default
  - mailers
Run Code Online (Sandbox Code Playgroud)

还应该安装 redis 来保存 sidekiq 的作业数据,这里有更详细的说明