Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.2 Sidekiq::DelayedMailer未使用.delay方法发送电子邮件_Ruby On Rails 3.2_Redis_Sidekiq - Fatal编程技术网

Ruby on rails 3.2 Sidekiq::DelayedMailer未使用.delay方法发送电子邮件

Ruby on rails 3.2 Sidekiq::DelayedMailer未使用.delay方法发送电子邮件,ruby-on-rails-3.2,redis,sidekiq,Ruby On Rails 3.2,Redis,Sidekiq,我在使用Redis/Sidekiq使用.delay方法发送延迟消息时遇到问题。我现在用的是ActionMailer,它就像一个符咒。我会跑 Notifier.new_user_welcome_email(name).deliver 没有问题。但只要我试着跑 Notifier.delay.new_user_welcome_email(name) 它在我的Sidekiq重试中被错误阻塞了 ArguementError Wrong number of arguements (3 of 0) 这在

我在使用Redis/Sidekiq使用.delay方法发送延迟消息时遇到问题。我现在用的是ActionMailer,它就像一个符咒。我会跑

Notifier.new_user_welcome_email(name).deliver
没有问题。但只要我试着跑

Notifier.delay.new_user_welcome_email(name)
它在我的Sidekiq重试中被错误阻塞了

ArguementError
Wrong number of arguements (3 of 0)
这在Sidekiq::Extensions::DelayedMailer类下

最大的问题是,这在我的测试服务器上运行得很好,但在我的实时服务器上却被阻塞了。我已经在live服务器上重置了Redis和Sidekiq,但它没有修复

任何帮助都将不胜感激

编辑

这是完整的回溯

…ctionpack-3.2.17/lib/abstract_controller/view_paths.rb:  45:in `initialize'
…ctionpack-3.2.17/lib/abstract_controller/view_paths.rb:  45:in `new'
…ctionpack-3.2.17/lib/abstract_controller/view_paths.rb:  45:in `lookup_context'
…9.1/gems/actionmailer-3.2.17/lib/action_mailer/base.rb: 457:in `process'
…9.1/gems/actionmailer-3.2.17/lib/action_mailer/base.rb: 453:in `initialize'
…9.1/gems/actionmailer-3.2.17/lib/action_mailer/base.rb: 439:in `new'
…9.1/gems/actionmailer-3.2.17/lib/action_mailer/base.rb: 439:in `method_missing'
…sidekiq-2.12.3/lib/sidekiq/extensions/action_mailer.rb:  17:in `perform'
…uby/1.9.1/gems/sidekiq-2.12.3/lib/sidekiq/processor.rb:  48:in `block (3 levels) in process'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 109:in `call'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 109:in `block in invoke'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 111:in `block in invoke'
…-2.12.3/lib/sidekiq/middleware/server/active_record.rb:   6:in `call'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 111:in `block in invoke'
…kiq-2.12.3/lib/sidekiq/middleware/server/retry_jobs.rb:  49:in `call'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 111:in `block in invoke'
…idekiq-2.12.3/lib/sidekiq/middleware/server/logging.rb:  11:in `block in call'
…/ruby/1.9.1/gems/sidekiq-2.12.3/lib/sidekiq/logging.rb:  22:in `with_context'
…idekiq-2.12.3/lib/sidekiq/middleware/server/logging.rb:   7:in `call'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 111:in `block in invoke'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 114:in `call'
….1/gems/sidekiq-2.12.3/lib/sidekiq/middleware/chain.rb: 114:in `invoke'
…uby/1.9.1/gems/sidekiq-2.12.3/lib/sidekiq/processor.rb:  47:in `block (2 levels) in process'
…uby/1.9.1/gems/sidekiq-2.12.3/lib/sidekiq/processor.rb: 102:in `stats'
…uby/1.9.1/gems/sidekiq-2.12.3/lib/sidekiq/processor.rb:  46:in `block in process'
…uby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:  25:in `call'
…uby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:  25:in `public_send'
…uby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:  25:in `dispatch'
…uby/1.9.1/gems/celluloid-0.14.1/lib/celluloid/calls.rb:  67:in `dispatch'
…by/1.9.1/gems/celluloid-0.14.1/lib/celluloid/future.rb:  15:in `block in new'
…1/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:  59:in `call'
…1/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:  59:in `block in create'

这些作业将进入“默认”队列。您是否已将生产工人配置为处理“默认”队列?提供完整的回溯跟踪。Mike Perham-回溯跟踪已更新-其他作业(.deliver)是否不使用“默认”队列?我看到默认队列处于活动状态,但我没有在配置文件中显示.yml文件,以便sidekiq进行配置。按原样,它在本地工作。@zacmccool您找到这个问题的原因了吗?我的一台prod服务器上也有同样的问题。