【问题标题】:sidekiq+whenever+unicorn uninitialized constant ClassWorker production envsidekiq+whenever+unicorn 未初始化常量 ClassWorker 生产环境
【发布时间】:2013-08-17 15:47:43
【问题描述】:

我使用 Rails 4,sidekiq 2.13.1,每 2 分钟运行一次 cron 脚本。第一次执行期间没有错误,但接下来的所有错误。我仅在生产环境中遇到此错误。我的工作人员位于 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'

对此有什么想法吗? 谢谢。

【问题讨论】:

    标签: ruby cron sidekiq whenever


    【解决方案1】:

    通过将此行添加到 production.rb 配置文件并将我的工人和依赖类移动到 lib 文件夹来解决它。 这是配置:

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

    【讨论】:

    • 我认为您只需要为我提供config.autoload_paths += %W(#{config.root}/workers) 我将我的员工保存在workers 文件夹中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多