首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sidekiq和devise在没有devise-async的情况下发送电子邮件

如何使用sidekiq和devise在没有devise-async的情况下发送电子邮件
EN

Stack Overflow用户
提问于 2016-07-15 19:53:17
回答 2查看 1.9K关注 0票数 2

我目前正在开发一个rails 4应用程序。我使用devise进行身份验证。我想用Sidekiq发送电子邮件。我找到了这个tuto https://github.com/mperham/sidekiq/wiki/Devise,但是我想不出我应该把队列的名字放在哪里。有人能帮我讲讲要点吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-17 07:29:45

根据该wiki页面上显示的代码片段,您可以执行以下操作:

代码语言:javascript
复制
Devise::Mailer.delay(queue: 'my_queue').send(...)
票数 3
EN

Stack Overflow用户

发布于 2019-05-23 05:44:06

一旦你将Sidekiq添加到你的rails应用程序中(参见link to getting started),以便在Sidekiq中使用devise (没有devise-async),你就可以使用ActiveJob内置的rails了。将此覆盖函数放入实现devise的模型中:

代码语言:javascript
复制
 def send_devise_notification(notification, *args)
  devise_mailer.send(notification, self, *args).deliver_later
 end

使用ActiveJob配置Sideiq

代码语言:javascript
复制
# config/application.rb

class Application < Rails::Application
  # ...
  config.active_job.queue_adapter = :sidekiq
end

并为Sidekiq设置邮件队列

代码语言:javascript
复制
# config/sidekiq.yml

---
:concurrency: 1
:queues:
  - default
  - mailers

也应该安装redis来保存sidekiq的作业数据,它的所有内容都在更详细的here中给出

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38395480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档