我目前正在开发一个rails 4应用程序。我使用devise进行身份验证。我想用Sidekiq发送电子邮件。我找到了这个tuto https://github.com/mperham/sidekiq/wiki/Devise,但是我想不出我应该把队列的名字放在哪里。有人能帮我讲讲要点吗?谢谢
发布于 2016-07-17 07:29:45
根据该wiki页面上显示的代码片段,您可以执行以下操作:
Devise::Mailer.delay(queue: 'my_queue').send(...)发布于 2019-05-23 05:44:06
一旦你将Sidekiq添加到你的rails应用程序中(参见link to getting started),以便在Sidekiq中使用devise (没有devise-async),你就可以使用ActiveJob内置的rails了。将此覆盖函数放入实现devise的模型中:
def send_devise_notification(notification, *args)
devise_mailer.send(notification, self, *args).deliver_later
end使用ActiveJob配置Sideiq
# config/application.rb
class Application < Rails::Application
# ...
config.active_job.queue_adapter = :sidekiq
end并为Sidekiq设置邮件队列
# config/sidekiq.yml
---
:concurrency: 1
:queues:
- default
- mailers也应该安装redis来保存sidekiq的作业数据,它的所有内容都在更详细的here中给出
https://stackoverflow.com/questions/38395480
复制相似问题