Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

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
languagehtml/xml

 <?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
languagehtml/xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<process_class  max_processes="10"/>


Assign it to both jobs:

Code Block
languagehtml/xml

<?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
languagehtml/xml

        <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.