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

Compare with Current View Page History

« Previous Version 12 Next »

Dependencies of job chains implemented by events

 

One of the methods to implement dependencies between  job chains is using event handlers. Whenever an event is created an entry is made into the data base table scheduler_events. In the event handler the conditions are defined to add an order for the job chain to be startet.

Events are processed by a Job Scheduler Supervisor Instance.  If the JobScheduler is not registered with a supervisor,  the current JobScheduler is used.

 

Notice that the event service will not work with data base H2.

The  events can be monitored with  JID - JobScheduler Information Dashboard

Event service

Before events can be used the event service has to be installed. It is part of the JobScheduler installation if ordered within the installation procedure.

 

 

But it is also possible to install  the event service in an existing JobScheduler instance . For more information  for this purpose have a look at  How to install the Event Service feature in JobScheduler

The job chain scheduler_event_service is running in predetermined intervals or whenever an event is created and checks all .xml data files in folder $SCHEDULER_DATA/config/events for information matching the active events which are stored in the data base table .  All job chains within the actual live folder may be concerned.

Event handler

The event handler is a  .xml data file which contains the definitions of the events and the commands which are triggered .

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 as soon as the condition becomes true. It  is also possible to use the  command add event for creating new events.

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

Handling events within job chains

As part of the JobScheduler installation there are some Java classes to handle events.

 

  • JobSchedulerSubmitEventTaskAfterMonitor
    • JobSchedulerSubmitEventMonitor can be configured as a monitor for (not shell-) to submit an event.The event is then submitted to the supervisor. If the JobScheduler is not registered with a supervisor, the event is submitted to the current JobScheduler. The event can be configured using job and/or order parameters. All other parameters are treated as event parameters. For shell jobs the bin/jobscheduler_event.sh script has to be used instead of the monitor.   

       

  • JobSchedulerSubmitEventJob
    • JobSchedulerSubmitEventJob can be configured  to submit an event.The event is then submitted to the Job Scheduler configured with scheduler_event_handler_host and scheduler_event_handler_port or else to the supervisor. If the Job Scheduler is not registered with a supervisor, the event is submitted to the current Job Scheduler. The event can be configured using job and/or order parameters  All other parameters are treated as event parameters.

  • JobSchedulerDequeueEventsJob
    • During job execution in a Job Scheduler Workload instance events could be created that should be processed by a Job Scheduler Supervisor Instance. Therefore event handlers are configured in the Supervisor that implement individual conditions  that state to which events should be reacted, e.g. by starting other jobs and job chains. 
         
  • JobSchedulerExistsEventJob
    • During job execution in a JobScheduler Workload instance events could be created that should be processed by a JobScheduler Supervisor Instance. This job checks if certain events exists. The job processes orders which are configured with an event specification. Depending on whether these events exist or not the order will be put into the next_state or into the error_state.   

  • JobSchedulerCheckEvents
    • Check if events exist. This job is executed order driven, i.e. it starts automatically if an order is received.
  • JobSchedulerEventJob
    • During job execution in a Job Scheduler Workload instance events could be created that should be processed by a Job Scheduler Supervisor Instance. Therefore event handlers are configured in the Supervisor that implement individual conditions that state to which events should be reacted, e.g. by starting other jobs and job chains.  

Documentation

For more information about eventing see JobScheduler Events, Definition and Processing

 

 

 

  • No labels