Skip to main content

Hi,

I have a question regarding the way the Oracle job queue processes are used by IFS.

I have noticed in other posts the number of job_queue_processes should be initialized at number of IFS batch queues + 5 and that is what has been set up for my customer.

But what we have noticed is that even if several jobs are posted in different IFS batch queues they are not all executed in parallel.

For example we have 17 queues in IFS and have set up the job_queue_processes to 22 in the oracle database.

We had at least 6 queues with several lines in state Posted.

But when checking at the execution of the queues we never had more than 3 jobs running at the same time. I know some jobs can be executed very fast but when checking at the latest executed job on some of the queues it could happen that none of the jobs has been executed for about 1 hour.

I assume that this is due to the ressources the current executed jobs are consuming and that the database has to be sized correctly but I would like to know how IFS is handling the way he sends the jobs to the Oracle queues and why we don’t have more executed jobs at the same time.

 

Hi @Fabrice 

Each batch queue has its own number of processes configured to it. If you configure more than one processes to that specific queue then it would run jobs in parallel but due to the business flow if you need to run the jobs assigned to that queue in sequential way then you need to stick to one process in that queue. If you need to speed up the execution of the jobs in any specific batch queue then increase the number of processes assigned to that queue after evaluating the business flow of the jobs.
 


Also talking about job_queue_processes and its value. I have already answered to that question via the below post.
 


Hope this helps you. 


Hi Ragaventhan,

In fact my question is more about how IFS is submitting the jobs if he has for example 6 queues with for each several Posted items. Because in my experience it was never executing 6 jobs in parallel so there must be some rules it follows to decide when and how much processes are running at the same time. 


Hi @Fabrice 

Each batch queue processes will have database processes assigned. If you go to the database processes window in the application you’ll see them listed. Each database process will execute according to the execution plan configured. If you have multiple processes for batch queue it’ll have that many database processes as shown below:

 


 


So if there are two jobs posted at the same time to the batch queue 12 it will get executed at the same time which is parallel processing. Please check the below post if you are working on container based database also it has more details on how batch queue and processes work in IFS.
 


Hope this helps you!