sidekiq+whenever+unicorn неинициализированная константа ClassWorker production env

Я использую Rails 4, sidekiq 2.13.1, всякий раз, когда скрипт cron запускается каждые 2 минуты. Никаких ошибок во время первого выполнения, но все последующие получают ошибки. Я получил эту ошибку только в производственной среде. Мой рабочий находится в app/workers. Я включил его в следующую строку в application.rb:

config.eager_load_paths += %W(#{config.root}/app/workers) 

Ошибка:

2013-08-15T12:34:05Z 31102 TID-oh1d0 WARN: {"retry"=>true, "queue"=>"default", "class"=>"AllGlobalWorker", "args"=>[], "jid"=>"c8f5827813277c890b4a621e", "enqueued_at"=>1376570045.3903732}
2013-08-15T12:34:05Z 31102 TID-oh1d0 WARN: uninitialized constant AllGlobalWorker
2013-08-15T12:34:05Z 31102 TID-oh1d0 /home/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/inflector/methods.rb:226:in `const_get'

Любые идеи для этого? Спасибо.


person BuDen    schedule 15.08.2013    source источник


Ответы (1)


Решил это, добавив эти строки в файл конфигурации production.rb и переместив мои рабочие классы и классы зависимостей в папку lib. Это конфиг:

config.eager_load = true
config.eager_load_paths += %W(#{config.root}/lib)
config.autoload_paths += %W(#{config.root}/lib)
person BuDen    schedule 24.09.2013
comment
я думаю, вам нужно иметь только config.autoload_paths += %W(#{config.root}/workers) для меня, я храню своих рабочих в папке workers - person Sojan Jose; 21.07.2015