首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails -设计异步(sidekiq)

Rails -设计异步(sidekiq)
EN

Stack Overflow用户
提问于 2016-10-26 19:40:33
回答 1查看 904关注 0票数 0

我使用的是带侧基q后端的,但是当发送一些电子邮件时,我会得到以下错误:

代码语言:javascript
复制
ArgumentError (wrong number of arguments (given 3, expected 1..2)):

devise-async (0.7.0) lib/devise/async/model.rb:27:in `send_devise_notification'

有什么办法解决吗?谢谢!

编辑:

我的一些设置:我正在使用Rails 5

Gemfile:

代码语言:javascript
复制
gem 'devise' ,'~> 4.1.0' 
gem 'redis-rails'
gem 'sidekiq'
gem 'sinatra', github: 'sinatra/sinatra', require: false
gem 'devise-async'

devise_async.rb均衡器:

代码语言:javascript
复制
Devise::Async.setup do |config|
  config.backend = :sidekiq
  config.queue   = :mailer
end

User类(重命名为Usuario):

代码语言:javascript
复制
class Usuario < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :async, :recoverable, :rememberable, :trackable, :validatable
 ...
end

sidekiq.yml配置:

代码语言:javascript
复制
:queues:
  - default
  - [mailers, 2]

我是用:

代码语言:javascript
复制
bundle exec sidekiq --environment development -C config/sidekiq.yml

已经重新启动了rails服务器、sidekiq和redis服务器,但仍然会出现相同的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 06:58:35

使用gem 'devise‘,'~> 4.1.0'

/config/initializers/devise_异步c.rb

代码语言:javascript
复制
Devise::Async.setup do |config|
  config.backend = :sidekiq
  config.queue   = :mailer
end

/app/model/user.rb

代码语言:javascript
复制
    class User < ActiveRecord::Base
    devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,   :async, :confirmable 
   end

config/config kiq.yml

代码语言:javascript
复制
:queues:
  - default
  - [mailers, 2]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40270852

复制
相关文章

相似问题

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