使用Sidekiq的delayed_extensions时的未定义方法

时间:2013-03-06 05:12:13

标签: ruby-on-rails asynchronous undefined sidekiq

使用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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

这似乎是Ruby&lt;的一个问题。 1.9.3根据Github上的这个帖子:https://github.com/mperham/sidekiq/issues/152#issuecomment-5281759

我有同样的问题,并升级到Ruby 1.9.3修复它。你有机会使用1.9.2吗?