从Unicorn配置文件中引用Rails

3
我正在尝试修改我的独角兽配置文件,按照以下三个链接的建议,改变独角兽日志记录方式: 它们都遵循相同的模式(我正在尝试第一个),但是当我将它们添加到我的配置文件时,独角兽会一遍又一遍地重复相同的消息。
ERROR -- : uninitialized constant Unicorn::Configurator::Rails (NameError)

堆栈跟踪指向独角兽日志文件中对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

也许是环境相关的问题?尝试在你的独角兽调用中添加“-E production”。 - KappaNossi
谢谢您的建议,但不幸的是那并没有产生任何影响。 - Neil Brown
1个回答

5
你需要在配置文件中设置preload_app true,以便像Rails这样的宝石从配置文件中访问 - 请查看此处获取文档。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接