【问题标题】:Calling Sidekiq delay on class methods displays error在类方法上调用 Sidekiq 延迟显示错误
【发布时间】:2014-07-03 05:48:56
【问题描述】:

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

    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}

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

【问题讨论】:

  • 它工作了吗@Swathi ?

标签: ruby delay sidekiq


【解决方案1】:

重启你的 sidekiq 和 redis 服务器。 为我工作。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,重启redis和sidekiq都没用。

    我知道这很奇怪,但似乎 sidekiq 并没有很好地加载所有内容,无论如何,解决方法是使用专门的工作人员而不是延迟类。

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

    【讨论】:

      【解决方案3】:

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

      Sidekiq 看不到您的 Foo 课程。确保 Sidekiq 加载在可以看到 Foo 的环境中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-06
        • 1970-01-01
        • 2013-08-13
        • 2012-04-28
        相关资源
        最近更新 更多