Ruby on rails 延迟作业可以';t将日志放入延迟的\u log.log

Ruby on rails 延迟作业可以';t将日志放入延迟的\u log.log,ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,我用的是脱衣舞。配置如下 confnig/initializations/dj.config Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.sleep_delay = 60 Delayed::Worker.max_attempts = 0 Delayed::Worker.max_run_time = 10.minutes Delayed::Worker.read_ahead = 10 Delayed::Worker.def

我用的是脱衣舞。配置如下

confnig/initializations/dj.config

Delayed::Worker.destroy_failed_jobs = false
Delayed::Worker.sleep_delay = 60
Delayed::Worker.max_attempts = 0
Delayed::Worker.max_run_time = 10.minutes
Delayed::Worker.read_ahead = 10
Delayed::Worker.default_queue_name = 'default'
Delayed::Worker.delay_jobs = true
Delayed::Worker.raise_signal_exceptions = true
Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'delayed_job.log'))
app/jobs/set_status_job.rb

class SetStatusJob < ApplicationJob
  queue_as :default

  rescue_from(ActiveRecord::RecordNotFound) do |e|
    Delayed::Worker.logger.error "error : #{e}"
    notifier = Slack::Notifier.new "https://hooks.slack.com/services/T0D5CJN2C/aaa/bbbb", channel: "#some-channel", username: "anonymous"
    notifier.ping "Error occured. See this #{e}"
  end

  def perform(queue)
    Delayed::Worker.logger.info 'perform start'
    do_something
    Delayed::Worker.logger.info 'perform end'
  end
class SetStatusJob
但不幸的是,无论我踢了什么工作,delayed_job.log中都没有出现日志。 是否有任何必要的配置?如果有人知道我会很高兴的


最佳

配置看起来正常,唯一需要考虑的是启动dj进程的用户是否具有该文件的写入权限。

dj进程是否具有该日志文件的写入权限?哦,谢谢!实际上,我正在根帐户中启动DelayedJob worker。我该怎么办?@razvans抱歉迟到了。我已更改并将写入权限添加到delayed_job.log。在那之后,它就起作用了。谢谢你的评论。