3

我正在尝试按照这三个链接建议的方式更改我的 Unicorn 配置文件,以更改 Unicorn 日志记录:

它们都遵循相同的模式(我正在尝试第一个模式),但是当我将它们添加到我的配置中时,我会得到 Unicorn 一遍又一遍地重复相同的消息:

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
4

1 回答 1

5

您需要preload_app true在配置中进行设置,以便可以从配置文件中访问 Rails 等 gem - 请参阅此处获取文档。

于 2013-09-23T12:20:23.473 回答