Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
A process class is an object which that can be assigned to a job.
It has two functions:
- to limit the number of job processes which that can start in parallel
- to run the job on a JobScheduler Agent
Limitation of simultaneously
...
executed jobs
For example: you have two jobs which execute some database transactions.
The job setting allows each job to start for 10 times in parallel.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?>
<job tasks="10">
<script ... />
</job>
|
You want to make sure that these jobs together can only open 10 database connection at the same time.
For now it is possible that they open 20 connections at the same time.
The solution is the process class object.
Create a process class with Max Processes = 10 ...
... then a file database.process_class.xml is created in the live folder.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?>
<process_class max_processes="10"/>
|
Assign it to both jobs:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?>
<job tasks="10" process_class="database">
<script language="shell">
<![CDATA[
echo ...some database transaction
]]>
</script>
<run_time />
</job>
|
If job1 is started for e.g. 8 times and job2 for 2 times then a further start of job1 or job2 goes into is added to the Task Queue
and waits until one of the running tasks (8 x job1, 2 x job2) has finishedterminated.
Predefined process classes in
...
./config/scheduler.xml
If you open the file ./config/scheduler.xml then you will see three already defined three process classes.
Code Block | ||
---|---|---|
| ||
<process_classes>
<process_class max_processes="30"/>
<process_class max_processes="10" name="single"/>
<process_class max_processes="10" name="multi"/>
</process_classes>
|
The process classes single and multi are of historical nature. In the past we had jobs in the JobScheduler setup which use that used these process classes. For compatibility reasons of compatibility, these are still included.
- The nameless process class is used for all jobs
...
- that are not assigned a different process class.
...
- Therefore, all jobs
...
- that wouldn't
...
- use a different process class can run simultaneously in max. 30 tasks.
- You
...
- could increase this value if
...
- required.
Start jobs
...
for a JobScheduler Agent
You can run a job on in a JobScheduler Agent. For this functionality you have to configure a process class.
See here How to configure a JobScheduler and Agent to work together for more information.