You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

THIS PAGE IS 'WORK IN PROGRESS'

Requirements

  1. The JobScheduler must run using a database.
  2. Events are stored permanently in the table "SCHEDULER_EVENTS".
  3. The JobScheduler must be installed with the Event-Service (JobChain sos/events/scheduler_event_service)
  [[File:Sos-event-service.png]]

Szenario

The following diagram shows the pre-own dependencies:

Warning: : syntax error in line 1 near '\'

At the beginning we have two job chains with defined orders. Both job chains contain 4 jobs with 3 of them executed in parallel.

  1. JobChain10: Job10, Job11, Job12, Job13
  2. JobChain20: Job20, Job21, Job22, Job23

All other jobs are started by orders that are created from the event handler.

Realisation

Definition of the job chains

Except the jobs in JobChain10 and JobChain20 all other jobs are packed seperately into job chains completed by steps for the creation of events. So we have at least 15 job chains.

For each combination of predecessor and successor we need an event - named as "ev_<predecessor job>_<successor job>"

Warning: : syntax error in line 1 near '\'

Setting the Events in Job Chains

We define the job EventAdd using the JITL-class sos.scheduler.job.JobSchedulerSubmitEventJob to store the events into the database. Please notify that the standard configuration monitor is needed as post-processing.

The parameters which are needed by the job EventAdd are defined at the job chain steps (example:JobChain31):

When Job31 has finished correctly three events are set:

  • ev_Job31_Job41
  • ev_Job31_JobRep60
  • ev_Job31_JobRep30

Creation of the orders in Event handler

The event handler is installed by using JOE: File --> New --> Event Handler.

For each job chain which is started by events we need an action defined in the event handler. An action has the two parts:

  • Events ("if-clause")
  • Command ("then-clause")

An event is uniquely defined by event class and event ID. Together with and/or/not the events of a group are combined to the condition.

In the command part the order is defined to start the job chain. The name of the started job chain and the first step are to be put in.

Every event which is used in the condition has to be deleted from the database with the Command remove event.

Setting events in Event Handler

For the last report job chain JobRep70 we have a special situation. It is not necessary to wait until the four predecessor report jobs are finished but they have all been startet before jobRep70 can also starts. So we add the events for the last report in parallel to the start orders for the four reports JobRep10 to JobRep40 within the job handler.

  • No labels