We are having the same problem... For our case, we have noticed that
the /tmp/backgroundrb.$$ (i.e. /tmp/backgroundrb.26943/ where 26943
is the PID) gets filled up w/ worker socket files which don't get
cleaned up even after the worker has stopped. After 42 of those files
are created, background simply stops processing, period. It had to be
restarted. We upgraded to backgroundrb from the Dejavu trunk, and it
helped in that when this issue happened, backgroundrb would at least
try again. It still gets stuck, but I can get it to start processing
again if I remove the workder files from /tmp/backgroundrb.$$/. This
42 file max happens for all workers.
Backgroundrb seems to function very well when it comes to 'triggered'
jobs. The time scheduling though is very choppy.We converted the jobs
to a custom daemon w/ thread calls. This was helpful example code for
daemons in case you need it: http://snippets.dzone.com/posts/show/2265
Yea, we did the self.delete. You are running 120,000 *time-triggered*
workers with no problems? Standard triggered background jobs works
fine, the time scheduled ones do the behavior described.
Ooh ok, thanks. So that's the difference. In essence your using
background as a daemon. We've been trying to use it with multiple
entries to run time-scheduled jobs and having the behavior mentioned.
We reverted to using a daemon threads for jobs and our own methods of
scheduling.