gpt4 book ai didi

ruby-on-rails - delayed_job 命名队列的单独日志

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:17 25 4
gpt4 key购买 nike

我们在项目中使用 delayed_job 的命名队列。有没有办法将每个队列记录到单独的日志文件中?

DelayedJob 在这样的部署脚本中启动:

run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 1 --queue=fast start"
run "cd #{current_path};RAILS_ENV=#{rails_env} script/delayed_job -p #{rails_env} -i 2 start"

我想要实现的是,在fast 队列中运行的所有内容都将登录到log/delayed_job.fast.production.log,而在另一个队列中的所有内容将登录到 log/delayaed_job.production.log

最佳答案

不幸的是,jvperrin 的回答没有帮助。我们设法做的是在初始化程序中设置所需的日志文件:

Delayed::Worker.logger = ActiveSupport::BufferedLogger.new("log/delayed_job.#{Rails.env}.log", Rails.logger.level)

if caller.last =~ /script\/delayed_job/
queues = ARGV.select { |opt| opt =~ /--queue=/ }
queue = /\=(.*)/.match(queues.first) if queues
queue = $1 if queue

if queue
Delayed::Worker.logger = ActiveSupport::BufferedLogger.new("log/delayed_job.#{queue}.#{Rails.env}.log", Rails.logger.level)
end

ActiveRecord::Base.logger = Delayed::Worker.logger
Rails.logger = Delayed::Worker.logger
end

关于ruby-on-rails - delayed_job 命名队列的单独日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com