【问题标题】:undefined method when using Sidekiq's delayed_extensions使用 Sidekiq 的延迟扩展时未定义的方法
【发布时间】:2013-03-21 05:34:24
【问题描述】:

使用Sidekiq's delayed extensions 时,我的bundle exec sidekiq shell 中出现此错误:

2013-03-06T04:13:57Z 52099 TID-ouqzj4xl8 WARN: undefined method `send_message' for #<Class:0x007f8a783d72f0>

在我的控制器中:

MyClass.delay_until(10.seconds.from_now, :retry => true).send_message(deliver_sms, phone)

在我的模型中:

require 'sidekiq'

class MyClass < ActiveRecord::Base

  include Sidekiq::Extensions

  def self.send_message(deliver_sms, phone)
    message_id = deliver_sms.deliver(phone, 'This is a test message') 
  end
end

任何帮助将不胜感激

【问题讨论】:

    标签: ruby-on-rails asynchronous undefined sidekiq


    【解决方案1】:

    根据 Github 上的这个帖子,这似乎是 Ruby https://github.com/mperham/sidekiq/issues/152#issuecomment-5281759

    我遇到了同样的问题,升级到 Ruby 1.9.3 解决了这个问题。您是否有机会使用 1.9.2?

    【讨论】:

    • 谢谢。我认为这是问题所在。你知道在 Heroku 上从 Procfile 运行 sidekiq 时如何指定 Ruby 1.9.3 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多