gpt4 book ai didi

ruby-on-rails - 从collectiveidea/delayed_job中登录

转载 作者:行者123 更新时间:2023-12-03 17:59:35 25 4
gpt4 key购买 nike

我尝试从 rails 中的 delay_job 中登录。

我将其配置如下:

Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.max_attempts = 3
Delayed::Worker.backend = :active_record
Delayed::Worker.logger = ActiveSupport::BufferedLogger.new("log/#{Rails.env}_delayed_jobs.log", Rails.logger.level)
Delayed::Worker.logger.auto_flushing = 1

定义我的工作:
class TestJob

def initialize(user)
@user = user
end


#called when enqueue is performed
def enqueue(job)
Delayed::Worker.logger.info("TestJob: enqueue was called")
end

def perform
Delayed::Worker.logger.info("\n\n\n\nTestJob: in perform, for user #{@user.twitter_username}")
end
end

但是当我在工作中调用 enquee
 Delayed::Job.enqueue(TestJob.new(user), 2)

即使 delay_jobs 表显示作业已执行,日志文件仍为空。

有任何想法吗?

最佳答案

在不使用 DJ 的命名空间的情况下尝试一下。

这是我不久前使用的一份工作的代码。注:Logger.new如果 .log 文件已经存在,它只会附加到一个 .log 文件中。

class ScrapingJob < Struct.new(:keyword_id)
def perform
begin
...
rescue => error
log = Logger.new("#{Rails.root}/log/scraping_errors.log")
log.debug "logger created for '#{keyword.text}' (#{keyword.id}) on '#{keyword.website.url}' (#{keyword.website.id})"
log.debug "time: #{measured_at.to_s(:short)}"
log.debug "error: #{error}"
log.debug ""
end
end
end

关于ruby-on-rails - 从collectiveidea/delayed_job中登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359988/

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