You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@sling.apache.org by "Robert A. Decker" <de...@robdecker.com> on 2013/05/30 19:08:52 UTC

having trouble with events/jobs

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

Re: having trouble with events/jobs

Posted by "Robert A. Decker" <de...@robdecker.com>.
Yes, that was it. It works fine now.

Rob

On May 30, 2013, at 1:30 PM, Robert A. Decker wrote:

> Do I need to create the event using JobUtil.TOPIC_JOB in order for it to be processed with the queues?
> new Event(JobUtil.TOPIC_JOB, props); 
> 
> and then if I set:
> PROPERTY_JOB_TOPIC
> 
> sling will launch a new event with that topic that I monitor for and do my processing?
> 
> I'm going to try this now.
> 
> Rob
> 
> On May 30, 2013, at 1:08 PM, Robert A. Decker wrote:
> 
>> 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
> 
> 


Re: having trouble with events/jobs

Posted by "Robert A. Decker" <de...@robdecker.com>.
Do I need to create the event using JobUtil.TOPIC_JOB in order for it to be processed with the queues?
new Event(JobUtil.TOPIC_JOB, props); 

and then if I set:
PROPERTY_JOB_TOPIC

sling will launch a new event with that topic that I monitor for and do my processing?

I'm going to try this now.

Rob

On May 30, 2013, at 1:08 PM, Robert A. Decker wrote:

> 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