2013-08-15 33 views
5

Tôi sử dụng Rails 4, sidekiq 2.13.1, bất cứ khi nào, cron script chạy mỗi 2 phút. Không có lỗi trong lần thực thi đầu tiên nhưng tất cả các lỗi tiếp theo đều bị lỗi. Tôi nhận được lỗi này chỉ trong env sản xuất. Nhân viên của tôi xác định vị trí trong ứng dụng/công nhân. Tôi đã bao gồm nó bằng cách làm theo chuỗi trong application.rb:sidekiq + bất cứ khi nào + unicorn uninitialized liên tục ClassWorker sản xuất env

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

Lỗi:

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' 

Bất kỳ ý tưởng cho việc này? Cảm ơn.

Trả lời

2

Giải quyết nó bằng cách thêm dòng này vào tệp cấu hình production.rb và di chuyển công nhân và các lớp phụ thuộc vào thư mục lib. Đây là cấu hình:

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

tôi nghĩ rằng bạn chỉ cần có 'config.autoload_paths + =% W (# {config.root}/công nhân)' cho tôi tôi giữ công nhân của tôi in'workers' thư mục –

Các vấn đề liên quan