Previously, if we had JOBS_PER_FORK set to 20 and 1 job in the queue Resque would fork a child to handle that one job and then the plugin would hit redis 19 more times as quickly as possible to get the next job. This change causes the worker to return from the fork if we run out of work to instead of potentially hammering redis.
I feel it's better to default to existing functionality (ie a single job per fork) rather than crashing. Once we're at the point where the exception is getting raised we've already pulled the job from the queue and by crashing it will get released into the ether. I feel it's better to error on the side of not losing work.
Resque Web would only show the first job that was run by the plugin and wasn't updating statistics for total jobs run. This change updates both resque-web's information as well as the process line show via `ps`.
…bs per minute, and upgraded to work with resque 1.8.x