2013-08-15 14 views
5

Ich benutze Rails 4, sidekiq 2.13.1, wann immer, Cron-Skript alle 2 Minuten ausgeführt werden. Keine Fehler während der ersten Ausführung, aber alle folgenden Fehler. Ich habe diesen Fehler nur in der Produktion env. Mein Mitarbeiter findet in App/Workern. Ich habe es durch folgende Zeichenfolge in application.rb enthalten:sidekiq + wann immer + Unicorn nicht initialisierte Konstante ClassWorker Produktion env

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

Fehler:

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' 

Irgendwelche Ideen für diese? Danke.

Antwort

2

Es wurde gelöst, indem diese Zeilen zur configuration-Datei production.rb hinzugefügt und meine Worker- und Abhängigkeitsklassen in den lib-Ordner verschoben wurden. Dies ist config:

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

Ich glaube, Sie nur 'config.autoload_paths + =% W haben müssen (# {config.root}/Arbeiter)' für mich behalte ich meine Arbeiter in'workers' Ordner –