Job executor / acquisition on minute boundaries


I have a strange situation I’m trying to diagnose.

I have a process with an async-before on the start task.
When I start the process using the TaskList “Start process”, it takes up to a minute to have a job executor on an engine machine pick up the job and run.

I figured out that it always starts on exactly the minute boundary.

For example, if I start the process at 06:33, it will wait until 07:00 to pick up the job and continue.
Or if I start it at 59 seconds after a minute, it will wait only one second, etc…

I noticed that as soon as I start the job, it creates a row in ACT_RU_JOB, but that row is not acted upon until the minute boundary. The LOCK_EXP_TIME is set to null in the row.

Any ideas? Obviously, I just want the process to start right away, not take up to a minute.

I’m using 7.4, and here are my job-executor properties:

	<job-acquisition name="default">
			<property name="lockTimeInMillis">300000</property>
			<property name="waitTimeInMillis">3000</property>
			<property name="maxJobsPerAcquisition">3</property>


Hi Galen,

do you use a shared or embedded engine?
Please share your process model so we can understand the problem.

We already fixed a bug in the Job executor, see CAM-6453.
Maybe this fixes your problem, too. The bug fix is available on 7.6, please try it out and let me know.

Best regards,

Hi Galen,

maxWait of the JobAcquistion is default to 60000 ms (which is the minute you see):

I change it on each new installation for demos to 5000, so I don’t need to talk to long during a demo.

Cheers, Ingo


Thanks for the response Chris and Ingo. I changed my maxWait to 5000, and now it’s working (doesn’t wait a minute).

I read CAM-6453, and yes that does seem to be an issue if we use timers. Sometime in the future we will upgrade to 7.6, and I will retry. But for now, the maxWait setting works for me.