I'm having trouble with events/jobs. I'm trying to set a queue limit of 5 
parallel jobs but it instead runs at around 35 jobs.

My properties are:

JobUtil.PROPERTY_JOB_QUEUE_NAME,
 "nlp.startnlp"

JobUtil.PROPERTY_JOB_PRIORITY, 
JobUtil.JobPriority.NORM

JobUtil.PROPERTY_JOB_PARALLEL, 
5

JobUtil.PROPERTY_JOB_RUN_LOCAL,
"true"

JobUtil.PROPERTY_JOB_RETRIES, 
5

JobUtil.PROPERTY_JOB_RETRY_DELAY, 
30000


Then create the event like:
new Event("bmn/iarpa-metaphor/job/topic/init", props)

and post it with eventAdmin.postEvent



The job is processed by sling's JobUtil.processJob method. The thread is 
renamed temporarily, priority set, etc while it's being executed, just as it 
should based on JobUtil's processJob method (and the Runnable inside of it)


But it immediately fills up the default thread pool with jobs instead of 
running only 5 jobs.


I've been tracing through the sling code but I'm having a hard time figuring 
out what's going on. I've only found one place where 
JobUtil.PROPERTY_JOB_PARALLEL is read, inside InternalQueueConfiguration.java, 
but as far as I can tell the default thread pool doesn't use this…

Rob

Reply via email to