jxa/resque-clojure — Issue #7: Add support for agents watching specific queues
Author: arohner
Created: 2012-02-16 02:14:08+00:00
State: open

In my environment, I have some jobs that can take 1 hr+, and some jobs that take 5 seconds. I also need to limit the number of concurrent 1 hr jobs, while allowing some of the fast jobs to continue running. I'd also like to avoid starvation, where a fast job is blocked by a slow job.

The obvious solution for me is to configure the agents independently. I'm thinking something like:

(start {["fast-queue1" "fast-queue2"] 5
["slow-queue"] 3})

This would create 5 agents watching fast-queue 1 and 2, and 3 agents watching the slow queue. The one problem is this would break the :max-workers setting.

I'm willing to make all changes necessary for this, if you approve. (I already have all code done, except for the start configuration syntax).