2014-02-03 2 views
2

Вызов задержки на метод класса выводит следующее сообщение об ошибке:Вызов задержки 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} 

Любая идея, почему? Можно ли вызвать задержку на методах класса?

+0

Это работало @Swathi? – Breno

ответ

0

Это говорит вам, почему: undefined class/module Foo

Sidekiq не видит ваш Foo класс. Убедитесь, что Sidekiq загружен в среду, которая может видеть Foo.

1

Перезапустите сервер sidekiq и redis. Работал для меня.

1

У меня была такая же проблема, и перезагрузка как redis, так и sidekiq не сработала.

Я знаю, что это странно, но кажется, что sidekiq не загружает все хорошо, во всяком случае, исправление заключалось в использовании специального работника вместо замедленного класса.

Надеюсь, это поможет. https://github.com/mperham/sidekiq/wiki/Getting-Started