代码之家  ›  专栏  ›  技术社区  ›  Neil Brown

从Unicorn配置文件中引用Rails

  •  3
  • Neil Brown  · 技术社区  · 12 年前

    我正试图按照这三个链接建议的行,对我的独角兽配置文件进行更改,以更改独角兽日志记录:

    它们都遵循相同的模式(我正在尝试第一种模式),但当我将它们添加到配置中时,我会收到独角兽一遍又一遍重复的相同消息:

    ERROR -- : uninitialized constant Unicorn::Configurator::Rails (NameError)
    

    堆栈跟踪指向在Unicorn日志文件中首次使用Rails。我做错了什么,或者我需要改变什么才能让这些片段发挥作用?

    我使用Rails 3.2.14,并使用以下方式调用我的服务器:

    bundle exec unicorn -c config/unicorn.rb
    

    使用 unicorn_rails 而不是 unicorn 没有区别(相同的错误)。我的配置如下所示:

    worker_processes 20
    listen ".../unicorn.socket", :backlog => 64
    timeout 30
    pid ...
    stderr_path ...
    stdout_path ...
    GC.respond_to?(:copy_on_write_friendly=) and
      GC.copy_on_write_friendly = true
    check_client_connection false
    before_fork do |server, worker|
      # No code
    end
    
    after_fork do |server, worker|
      defined?(ActiveRecord::Base) and
        ActiveRecord::Base.establish_connection
    
      # Snippet from the links above, error occurs within here
      if defined?(ActiveSupport::TaggedLogging) && Rails.logger.kind_of?(ActiveSupport::TaggedLogging)
        ...
      end
    end
    
    1 回复  |  直到 9 年前
        1
  •  5
  •   Michael Berry    12 年前

    你需要设置 preload_app true 在您的配置中,可以从配置文件访问Rails之类的gem-请参阅 here 用于文档。