加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 延迟作业未登录生产

发布时间:2020-12-16 22:30:31 所属栏目:百科 来源:网络整理
导读:我希望我的延迟作业“代码”登录不同的日志文件以满足业务需求.所以我在名为dj.log的日志中记录自定义状态.在“序列化”作业中,我将日志语句记录在我的文件中. 这是设置的方式 Delayed::Worker.destroy_failed_jobs = falseDelayed::Worker.sleep_delay = 60
我希望我的延迟作业“代码”登录不同的日志文件以满足业务需求.所以我在名为dj.log的日志中记录自定义状态.在“序列化”作业中,我将日志语句记录在我的文件中.

这是设置的方式

Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.sleep_delay = 60
Delayed::Worker.max_attempts = 10
Delayed::Worker.delay_jobs = !( Rails.env.test? || Rails.env.development? ) #dont use delayed_job in development or test mode

#Delayed_job custom logger
DJ_LOGFILE = File.join(Rails.root,'log','dj.log')

这是工人实际做的工作

people.each {|p| Mailer.mail(1233,p).deliver; sent_to << p.email }                
    Logger.new(DJ_LOGFILE).info("[DELIVERED] All Emails delivered (#{sent_to.join(",")})")

这可能是什么问题?请帮忙

解决方法

DelayedJob维护它自己的记录器,因此您需要将其指向您的特定日志文件.因此,在初始化文件(environment.rb或更好,config / initializers中的特定delayed_job.rb文件)中添加以下内容:
Delayed::Worker.logger = Logger.new(File.join(Rails.root,'dj.log'))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读