【问题标题】:Rails - Devise Async (sidekiq)Rails - 设计异步(sidekiq)
【发布时间】:2017-03-09 07:49:13
【问题描述】:

我正在使用带有 sidekiq 后端的 devise-asyn gem,但是在发送一些电子邮件时,我收到以下错误:

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

宝石文件:

gem 'devise' ,'~> 4.1.0' 
gem 'redis-rails'
gem 'sidekiq'
gem 'sinatra', github: 'sinatra/sinatra', require: false
gem 'devise-async'

devise_async.rb 初始化器:

Devise::Async.setup do |config|
  config.backend = :sidekiq
  config.queue   = :mailer
end

用户类(重命名,称为 Usuario):

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 配置:

:queues:
  - default
  - [mailers, 2]

我正在运行 sidekiq:

bundle exec sidekiq --environment development -C config/sidekiq.yml

已经重启过rails server、sidekiq和redis server,但还是报同样的错误

【问题讨论】:

    标签: ruby-on-rails devise sidekiq


    【解决方案1】:

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

    /config/initializers/devise_async.rb

    Devise::Async.setup do |config|
      config.backend = :sidekiq
      config.queue   = :mailer
    end
    

    /app/models/user.rb

        class User < ActiveRecord::Base
        devise :database_authenticatable, :registerable,
             :recoverable, :rememberable, :trackable, :validatable,   :async, :confirmable 
       end
    

    config/sidekiq.yml

    :queues:
      - default
      - [mailers, 2]
    

    【讨论】:

    • 感谢兄弟的帮助,但我仍然遇到同样的错误...在问题中添加了一些信息,请看一下!
    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    相关资源
    最近更新 更多