I try to log from within a delayed_job in rails.
I configure it as following:
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
Define my job:
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
But when I call enquee on my job
Delayed::Job.enqueue(TestJob.new(user), 2)
The log files remain empty, even though the delayed_jobs table shows that the job was performed.
Any ideas?