在类方法上调用Sidekiq延迟会显示错误

时间:2014-02-03 15:30:05

标签: ruby delay sidekiq

调用类方法延迟会显示以下错误:

    class Foo
      def self.bar
        puts "hello"
      end
    end



    Foo.delay.bar

显示以下错误

    {"retry"=>true, "queue"=>"default", "class"=>"Sidekiq::Extensions::DelayedClass",
    "args"=>["---\n- !ruby/class 'Foo'\n- :bar\n- []\n"], "jid"=>"0000000", 
    "enqueued_at"=>1391440659.34402, "error_message"=>"undefined class/module Foo", 
    "error_class"=>"ArgumentError", "failed_at"=>2014-02-03 15:17:39 UTC, 
    "retry_count"=>0}

知道为什么吗? 我们可以调用类方法的延迟吗?

3 个答案:

答案 0 :(得分:1)

重新启动sidekiq和redis服务器。 为我工作。

答案 1 :(得分:1)

我遇到了同样的问题,重新启动redis和sidekiq都没有工作。

我知道这很奇怪,但似乎sidekiq并没有很好地加载所有东西,无论如何,修复是使用专职工作人员而不是延迟课程。

我希望它有所帮助。 https://github.com/mperham/sidekiq/wiki/Getting-Started

答案 2 :(得分:0)

它告诉你原因:undefined class/module Foo

Sidekiq没有看到你的Foo课程。确保Sidekiq加载在可以看到Foo

的环境中