I use backgrounDRB with a couple of Rails apps to handle long running
tasks. I’m having a problem with the log messages it produces. When I
start my backgrounDRB server it checks the job queue every 10 seconds
or so, and adds 3 lines to my development/production.log file to
record the SQL query. These log messages are very frustrating, as they
tend to swamp all the useful log information and make my log files
very large, very fast. Is there a way to disable them? Ideally I’d
like to stop the backgrounDRB server from producing any log messages,
unless I explicitly ask it to, or at least redirect them all to a
different file. I’d be happy enough with no log messages at all, as I
don’t use it for anything too important. Is there a way to do this?
I’ve tried playing around with the :log: option in the
backgroundrb.yml config file, but I can’t get it to turn logging off,
and there doesn’t seem to be a reference for config options anywhere.
The latest backgroundrb codebase contains the ability to turn then
constant
queries off by setting
:persistent_disabled: true
in the backgroundrb.yml config file. Or if you use persistent queues but
don’t need them executed that often, change:
:persistent_delay: 10
in the backgroundrb.yml config file to increase the time between each
query.
Unfortunately, there isn’t currently a setting to disable persistent
queuing
or increase the delay for one worker and not another (all or nothing).
But
for those that just use the .new_worker syntax, this will work just
fine.