我在 Puma 服务器上有一个 Rails 4 应用程序,Resque/Resque-Scheduler 运行后台作业。我想知道的是如何将我的两个 Resque 工作人员的日志输出合并到我的服务器日志中,或者,这是不可能的,我如何查看我的 Resque 工作人员的日志输出。目前我还无法弄清楚如何查看工作人员的日志输出,所以我不知道引擎盖下发生了什么。我找到了这个 blogpostresque.rake
,它建议在我的文件中添加以下喜欢:
task "resque:setup" => :environment do
Resque.before_fork = Proc.new {
ActiveRecord::Base.establish_connection
# Open the new separate log file
logfile = File.open(File.join(Rails.root, 'log', 'resque.log'), 'a')
# Activate file synchronization
logfile.sync = true
# Create a new buffered logger
Resque.logger = ActiveSupport::BufferedLogger.new(logfile)
Resque.logger.level = Logger::INFO
Resque.logger.info "Resque Logger Initialized!"
}
end
那没有用。我还尝试了评论中的建议,即替换Resque.logger = ActiveSupport::BufferedLogger.new(logfile)
为Resque.logger = ActiveSupport::Logger.new(logfile)
,但这也不起作用。使用第二个选项,NoMethodError: undefined method 'logger=' for Resque:Module
当我尝试启动工作人员时仍然会出现错误。
这是我当前的resque.rake
文件:
require 'resque/tasks'
require 'resque_scheduler/tasks'
namespace :resque do
puts "Loading Rails environment for Resque"
task :setup => :environment do
require 'resque'
require 'resque_scheduler'
require 'resque/scheduler'
require 'postman'
end
end
我查看了有关 logging 的 Resque 文档,但我不确定如何使用那里的内容,因为我承认对 Rails 的登录不太了解。我没有任何运气找到有关该主题的其他有用资源。