[Backgroundrb-devel] where do uncaught exceptions printouts go?
ezmobius at gmail.com
Sun Jul 9 21:44:06 EDT 2006
Ok, I just committed an update to the plugin. I fixed exception
handling so if your workers throw an error the full error message,
class of error and complete backtrace will get printed to the log
file. Sorry about the hassle finding this bug. It happened when I
added the job canceling and handling code. I forgot to put the begin
rescue end block inside of the Thread.new block. Its all fixed now.
I also added Michael Klien's accessed based timestamps patch. It
doesn't change the external interface to how you use things but it
changes the way timestamps are stored. Now timestamps are stored as a
hash of attributes instead of an array. This allows workers expiry to
act like sessions in that the time to live will be updated evey time
a worker is accessed. So it will update the timestamp when it gets
accessed and push the time to live forward again. This allows the
worker to expire based on time to live since the worker was last
accessed. So this worker will expire 300 seconds after the last time
it was accessed.
session[:job_key] = MiddleMan.new_worker(:class => :foo_worker,
:args => "Bar",
:ttl => 300,
:expire_type => :accessed )
I also added a CONTRIBUTORS file to the plugin. Please have a look
and remind me if I missed anyone who had a patch or enhancement applied.
I am in the process of adding breakpoint support to the plugin so
you can set breakpoints and inspect your workers and other state.
Along with this will be a small stats system so you can get stats
about all your running workers and timestamps and what the drb server
is working on. Should have this stuff done this week some time.
PS. Thanks everyone for using and abusing this to help ferret out any
bugs and missing features. This is a fun plugin to work on and with
and I think it will only get better.
More information about the Backgroundrb-devel