2013-08-15 18 views
5

Her 2 dakikada bir cron betiği çalıştığında Rails 4, sidekiq 2.13.1 kullanıyorum. İlk çalıştırma sırasında hata yok, ancak sonraki hatalar. Bu hatayı sadece üretim ortamında aldım. Çalışanım uygulamayı/çalışanları bul. Ben application.rb içinde dize izleyerek yer verdik:sidekiq + ne zaman + unicorn uninitialized sabiti ClassWorker üretimi env

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

Hata:

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' 

bunun için herhangi bir fikir? Teşekkürler.

cevap

2

Bu satırları production.rb config dosyasına ekleyerek ve işçilerimi ve bağımlılık sınıflarını lib klasörüne taşıyarak çözdüm. Bu yapılandırma bağlıdır: (/ işçi # {config.root}) i sadece `config.autoload_paths + =% W olması gerekir düşünüyorum

config.eager_load = true 
config.eager_load_paths += %W(#{config.root}/lib) 
config.autoload_paths += %W(#{config.root}/lib) 
+1

' benim için ben klasörün in'workers' benim işçileri tutmak –