JobScheduler Events Definition and Processing
|
|
|
- Eugene Conley
- 10 years ago
- Views:
Transcription
1 JobScheduler - Job Execution and Scheduling System JobScheduler Events Definition and Processing Reference March 2015 March 2015 JobScheduler Events page: 1
2 JobScheduler Events - Contact Information Contact Information Software- und Organisations-Service GmbH Giesebrechtstr. 15 D Berlin Germany Telephone +49 (0) Telefax +49 (0) Mail [email protected] Web Last Updated: 03/13/ :01 PM This documentation is based on JobScheduler Version Copyright SOS GmbH Berlin. All rights reserved. All trademarks or registered trademarks are the property of their respective holders. All information and materials in this book are provided "as is" and without warranty of any kind. All information in this document is subject to change without further notice. This product includes software developed by the Apache Software Foundation ( We would appreciate any feedback you have, or suggestions for changes and improvements; please forward your comments to [email protected]. March 2015 JobScheduler Events page: 2
3 JobScheduler Events - Table of Contents Table of Contents 1 Introduction Examples A Merge and Split series: Job Chain Synchronization Event Processing Event Generators Event Generator Jobs Event Generator Monitors Event Generator Scripts Examples Environment Diagnostics Event Generator Event Handler Event Processors Event handlers Event generators Event processors Testing for events in a job chain Example event tests Synchronization of Job Chains Event Handlers Script-Based Event Handlers Example queries: An example split and merge script The main script Script B (similar to scripts C and D) XSL Event Handlers XML Event Handlers Example: Event handling commands and groups Rule Sets Example 1: Using XML event handler rule sets Example 2: Combined event and run time rules and actions Example 3: The "Merge and Split" scenario described previously Creating XML rule sets with the JobScheduler Job Editor Example: one group and two events Evaluation of the rule set Example: Rule set evaluation Event Processing Configuration Event Processor Installation Configuration: Define at least one event handler Configure an event generator for every event listed in the event handler Event Handling Routine Examples Example: Split and Merge Example: Job synchronisation on different JobSchedulers March 2015 JobScheduler Events page: 3
4 JobScheduler Events - Table of Contents 6.3 Example: Job has not run before a specified time Example: Notification when a file has not arrived before 17: Appendix Event Processor configuration March 2015 JobScheduler Events page: 4
5 JobScheduler Events - Introduction 1 Introduction In its standard configuration, the JobScheduler can process job chains that start jobs in a predictable order, this serialization of jobs being suitable for many applications and situations. However, job chains are not able to represent the dynamic dependencies that occur, for example, when jobs are dependent on several other jobs or are to be started either by external events or by jobs that are started by other JobSchedulers. A solution for this problem is available for the JobScheduler, in which centrally processed events can be triggered. This makes it possible to evaluate events originating in different sources and to initiate job starts or orders depending on these events. The JobScheduler can use events to control the progress of jobs and orders in job chains: jobs and job chains being started when one or more particular events occur. Events are particularly suited for the implementation of procedures in which there are several followers and/or several forerunners. Three different methods are available for handling events: 1. Processing in event handlers: this solution offers the greatest freedom in formulating complex conditions. See --> XML Event Handlers (page 25) 2. Monitoring of events and appropriate handling using shell scripts: this method allows individual shell scripts and events to be generated and the existence of events tested. See --> Script-Based Event Handlers (page 22) 3. Job chain synchronization using the Synchronizer Job: this method allows the processing of a number of job chains to be synchronized with a minimum of configuration. See --> Job Chain Synchronization (page 19) Example application: Consider the situation with two job chains: job chain A is used to process file orders and job chain B writes data to a database. Data for job chain B is written by a persistent order which is started at daily at However, database entries can only be made once a particular file for job chain A has been received. On the other hand, it should be possible for the steps in both job chains up to the synchronization point to be carried out in any order and in parallel. Terminology note: "Supervisor JobScheduler" The use of events is described in this document for a number of job scheduling scenarios in which more than one JobSchedulers are used and one of these JobSchedulers takes on a supervisory role. It is, however, also possible to use events with a single JobScheduler. In this case the JobScheduler handling the event will check whether a supervisor JobScheuler has been configured. If this is not the case and the JobScheduler will forward the event to the JobScheduler that generated the event, which in a single JobScheduler scenario would be itself. In a single JobScheduler scenario, parameters described in the example scripts for the supervisor JobScheduler, such as host name and port number would then be set to the those of the single JobScheduler. 1.1 Examples A Merge and Split series: The following example shows a Merge and Split series: The architecture shown in this example could be used, for example, when processing time-intensive jobs that can run in parallel. Parallel processing of jobs is often used to speed processing as a whole, with different jobs possibly being run on different JobSchedulers. March 2015 JobScheduler Events page: 5
6 JobScheduler Events - Introduction A further reason for such a processing architecture is to allow for delays to events: when jobs are serialized in job chains a delay in one event means that the whole chain would be delayed. In this example, jobs "Job 1", "Job 2", "Job 3" and "Job 4" run at different times. However, "Job 5" will only be started when these four jobs have all been successfully completed. Finally, "Job 6", "Job 7", "Job 9" and the job chain comprising "Job 80", "Job 81" and "Job 82" will be started. Note that this process architecture will be used in the course of this documentation to illustrate the use of event processing Job Chain Synchronization Consider a number of job chains, which are to be synchronized at a particular point in each chain. In other words, the orders in a job chain will only be processed beyond the synchronization point once all the orders in the other job chains have been processed up to the synchronization point. March 2015 JobScheduler Events page: 6
7 JobScheduler Events - Introduction In the diagram, orders for job chains 1 and 2 will wait at the synchronization point until all job chains have an order and are processed up to the synchronization point. This means that job chains 1 and 2 will not be processed as long as job chain 3 does not have an order. March 2015 JobScheduler Events page: 7
8 JobScheduler Events - Event Processing 2 Event Processing The expressions: 1. event generator, 2. event processor and 3. event handler will be explained in this chapter. 2.1 Event Generators Events need to be created before they can be processed by the JobScheduler. This can be carried out by one of a number of possible event sources (event generators): job monitors (Pre- and post-processing) in a job chain, standalone jobs that generate: events scripts or event handling routines. All event generators share the principle that they send an order to the JobScheduler event processor via TCP/IP. This processor then makes an entry for each order in the event database table as well as holding them in a global JobScheduler variable. The Event Generator Order contains a description of the event as well as specifying the action to be carried out. The add action is used to insert events in the database table and remove is used to remove all the events possessing a particular attribute (e.g. all events belonging to a particular class). March 2015 JobScheduler Events page: 8
9 JobScheduler Events - Event Processing In principle, any software could be used to generate events, what is important is that the order is correctly generated and send to the relevant supervising JobScheduler. Events possess the following attributes: event-id Must only be unique in conjunction with the event-class exit-code The current exit code of the job script running Default: the script exit code event-class Results in a unique identifier when used together with the event-id. Can, for example, be used to remove events (remove all events of a particular class) job-name The name of the job currently running Default: the current job name job-chain The name of the current job chain Default: the current job chain order-id The identifier of the current order Default: the current order identifier (order id) name The event name creation-date The timestamp from the moment at which the event was generated Default: now expiry-date The timestamp for the moment when the event expires. If this attribute is not set, then the event lifetime is set according to the value set in the Event Processor (default=24h). Default: on the following day The event class must be specified when an event is generated, all other attributes are optional Event Generator Jobs The standard JobSchedulerSubmitEventJob job can be used to set off an event. An event generated by this job will be forwarded to a Supervisor JobScheduler. If a Supervisor has not been configured then the event will be forwarded to the JobScheduler that ran the event processor job. Both the order and job parameters of this generating job can be used to configure the event. This generating job can either be run in a job chain or stand-alone. See the job documentation in./jobs/jobschedulersubmiteventjob.xml The following job generates an event with the myclass class and myid ID. March 2015 JobScheduler Events page: 9
10 JobScheduler Events - Event Processing <job name="jobschedulersubmiteventjob" title="submit Events" order="yes"> <description> <include file="jobs/jobschedulersubmiteventjob.xml" /> </description> <params> <param name="scheduler_event_class" value="myclass" /> <param name="scheduler_event_id" value="myid" /> </params> <script language="java" java_class="sos.scheduler.job.jobschedulersubmiteventjob" /> </job> Example: An job generating an event with the myclass class and myid ID. Example: consider an event causing "It is now 17:00" to be printed. This is done by configuring a job that has as its starting time. <job name="sample" title="submit Event "17:00 Uhr""> <description> <include file="jobs/jobschedulersubmiteventjob.xml" /> </description> <params> <param name="scheduler_event_class" value="myclass" /> <param name="scheduler_event_id" value="myid1" /> </params> <script language="java" java_class="sos.scheduler.job.jobschedulersubmiteventjob" /> <run_time> <period single_start="17:00" /> </run_time> </job> Example: An event causing "It is now 17:00" to be printed. This job can, for example, be configured as a step in a job chain in order to use the event to document the progress of an order. This use of an event is illustrated in the following example, which is based on a job chain consisting of three steps. The event is to be generated once step "100" has been completed. March 2015 JobScheduler Events page: 10
11 JobScheduler Events - Event Processing <job_chain name="job_chain1" orders_recoverable="yes" visible="yes"> <job_chain_node state="100" job="anyjob" next_state="200" error_state="error"/> <job_chain_node state="200" job="firststepisready" next_state="300" error_state="error"/> <job_chain_node state="300" job="anyotherjob" next_state="success" error_state="error"/> <job_chain_node state="error"/> <job_chain_node state="success"/> </job_chain> <job name="firststepisready" title="submit Event "Step 100 is ready"" order="yes"> <description> <include file="jobs/jobschedulersubmiteventjob.xml"/> </description> <params> <param name="scheduler_event_class" value="myclass"/> <param name="scheduler_event_id" value="myid2"/> </params> <script language="java" java_class="sos.scheduler.job.jobschedulersubmiteventjob"/> <run_time/> </job> Example: Event generator job in a job chain Event Generator Monitors A monitor has the same functions as a job, but its implementation as a monitor allows its use with any other job. See the job documentation in./jobs/jobschedulersubmiteventjob.xml. March 2015 JobScheduler Events page: 11
12 JobScheduler Events - Event Processing <job title="generate an Event with a Monitor" name="job2_event_by_monitoring"> <params> <param name="scheduler_event_id" value="2"/> <param name="scheduler_event_class" value="monitorevent"/> </params> <script language="javascript"> function spooler_process(){ spooler.log.info("here is a event coming from a monitor"); return false; } </script> <monitor name="create_event" ordering="0"> <script java_class="sos.scheduler.job.jobschedulersubmiteventmonitor" language="java"/> </monitor> <run_time/> </job> Example: Job that generates an event with a monitor Event Generator Scripts The jobscheduler_event.sh and jobscheduler_event.cmd scripts are provided for use on Unix and Microsoft Windows systems respectively. Calling either of these scripts causes an event to be generated. These scripts can, for example, be incorporated in existing shell scripts; called either as a separate step in a job chain or called as standalone jobs. The following example is for a shell job that generates an event with the class example: <job order="yes" name="file_job"> <script submit event to Supervisor &js; %SCHEDULER_HOME%/bin/jobscheduler_event.cmd -x %ERRORLEVEL% -e example </script> <run_time/> </job> The following parameters can be specified in these scripts: jobscheduler_event.sh - submit event to JobScheduler -x -e exit-code Use $? to specify the exit code of a previous Unix command. event-class Specifies a common name for a set of events that enabling event handlers to process multiple events of the same class. For example, "daily_closing" could be an event class for jobs that should start once day-time business processes have drawn to a close. March 2015 JobScheduler Events page: 12
13 JobScheduler Events - Event Processing -i -c -o -j -h -p -s -r -v -w -t event-id An identifier for an event. Allows event handlers to react to events having a particular ID. The ID is unique for an event class. job-chain The name of the job chain. If empty, the name of the current job chain is used. order-id If the current job is executed within a job chain then its Order ID can be used to identify the event. By default, the SCHEDULER_ORDER_ID environment variable is set by the Job Scheduler if this option is not specified. job-name The name of the current job. By default, the SCHEDULER_ORDER_ID environment variable is set. This environment variable is automatically set by the Job Scheduler workload-job-scheduler-host Specifies the local Job Scheduler Workload instance host name. The SCHEDULER_HOST environment variable is used by default. workload-job-scheduler-port Specifies the local Job Scheduler Workload instance host name. The SCHEDULER_TCP_PORT environment variable is used per default. supervisor-job-scheduler-host Specifies the Job Scheduler Supervisor instance host name. The SCHEULER_SUPERVISOR_HOST environment variable is used by default. Workload Job Scheduler instances automatically register at a Supervisor in order to synchronize job configurations. The Supervisor instance receives events, executes the event handler and starts jobs and job chains. supervisor-job-scheduler-port Specifies the port number on which the Job Scheduler Supervisor instance is operating. By default the SCHEDULER_SUPERVISOR_PORT environment variable is used. supervisor-job-chain Specifies the name of the job chain in the Job Scheduler Supervisor instance that implements the event processor. The default value is scheduler_event_service. what Events can be added (add), deleted (remove) and checked (check). Die Default-Aktion ist add. check is used to determine whether one or more particular events are present. Here at least one of the options -i -e -x or -a must be specified, in order to determine the event being sought after. expiration-date March 2015 JobScheduler Events page: 13
14 JobScheduler Events - Event Processing Specifies the point in time at which an event automatically expires: this parameter being implemented by the Event Processor. A specific point in time can be specified in the ISO date format, i.e. yyyy-mm-dd hh:mm:ss. The value never ensures that the event does not ever expire. The options expiration-date, -cycle and -period may not be used at the same time. -tc -tp -d -a expiration-cycle Specifies a time of the current or the next day at which the event expires. The cycle is specified in the format hh:mm[:ss]. May not be used together with expiration date or period. expiration-period Specifies a period after which the event expires. The period is specified in the format hh:mm[:ss]. May not be used together with expiration date or cycle. name=value Allows additional parameters for event handlers to be specified. Parameters are created using name-value pairs, separated by an equals sign. Parameter names can be freely chosen and event handlers configured to take account of values handed over. This option can be specified as often as required, allowing the definition of any number of parameters. xpath-expression All events corresponding to the XPath expression specified when this parameter is set. Complex expressions are possible and all the attributes of an event can be considered. This parameter allows complex queries to be made, that would not be possible with the -e -i and -x options. allowed-exit-code... Enables the specification of a list of exit codes that mean that a job should be considered as having run successfully. This is useful if job scripts provide return values in the form of exit codes and these codes should not be considered as errors. The jobscheduler_event.sh script forwards events to the event processor in the JobScheduler Supervisor instance. These events are then processed by event handlers in the event processor and are then used to trigger jobs and job chains depending on the parameters in the script. Suitably configured, event handlers are able to take account of situations that require multiple events to be fired in order to trigger a job start. Should a JobScheduler Supervisor not be accessible then the event data will be stored in a local file:./logs/scheduler.events. These events will be dequeued by the scheduler_dequeue_events job, which is one of the standard automation jobs provided with the JobScheduler distribution, as soon as the Supervisor JobScheduler is available again Examples Create an event with the minimum parameters required for an event class (event id and job name):./jobscheduler_event.sh -x $? -e daily_closing -i my_id -j my_job Specify a different host name and port for the JobScheduler Supervisor and define a parameter proc1 with the value 42: March 2015 JobScheduler Events page: 14
15 JobScheduler Events - Event Processing./jobscheduler_event.sh -x $? -e daily_closing -i my_id -j my_job -s master -r d proc1= Environment SCHEDULER_HOME Installation directory of the Job Scheduler Workload instance. SCHEDULER_HOST Host name of the Job Scheduler Workload instance. SCHEDULER_TCP_PORT Port number of the Job Scheduler Workload instance. SCHEDULER_JOB_CHAIN Name of the job chain currently being executed, should the current job be part of a job chain. SCHEDULER_ORDER_ID Id of the order currently being executed, should the current job be part of a job chain. SCHEDULER_SUPERVISOR_HOST Hostname of the Job Scheduler Supervisor instance. SCHEDULER_SUPERVISOR_PORT Port number on which the Job Scheduler Supervisor instance operates Diagnostics The following error messages may be written to stderr: ERROR-001: no host has been specified The host name for the Job Scheduler Supervisor instance has not been specified. ERROR-001: no port has been specified The port number for the Job Scheduler Supervisor instance has not been specified. ERROR-010: could not connect to host The specified host name or IP address is invalid or no Job Scheduler is running via the specified port Event Generator Event Handler See also Testing for events in a job chain (page 18) New events can be generated by event handlers. To do this the event handler executes the <add_event> element. March 2015 JobScheduler Events page: 15
16 JobScheduler Events - Event Processing <commands> <add_event> <event event_id="7" event_class="sample" event_title="neues Ereignis" /> </add_event> </commands> 2.2 Event Processors Event Processors carry out two tasks: 1. Recording the event and saving it in the database as well as in a Job Scheduler variable; 2. Execution of event handling routines (Event Handlers) and the evaluation of conditions Event handlers Event handlers consist of: A set of rules, to test whether an event has occurred and a list of actions that are to be carried out when the event conditions are met. The following actions are possible: starting a job, starting a job chain, generating a new event, deleting events. Event handlers can either be in XML format or in XSL in the form of stylesheets. Event handling routines in XML format are supported by the Job Scheduler Job Editor, which can be used to write and edit routines. See also Testing for events in a job chain (page 18) Event generators Event generators can also generate events. These are collected in the Event Processor and one or more event handlers will be executed by the Event Processor each time an event occurs. The conditions used to determine whether one or more events have taken place are tested whilst the Event Handler is being executed. The actions specified for the event will be carried out if these tests are positive. March 2015 JobScheduler Events page: 16
17 JobScheduler Events - Event Processing Event processors The Event Processor consists of a job chain made up of the scheduler_event_service job and the scheduler_event_service job chain. The event processor definition can be found in the./config/scheduler_event.xml file. The job chain contains the scheduler_event job. The parameterization of this job is described in the scheduler/jobs/jobschedulereventjob.xml documentation. Summary: example system architecture with two Job Schedulers In this example, Jobs A and B are started on a Workload Job Scheduler, with each of these jobs causing an event. These events are processed by the Supervisor Job Scheduler Event Processor. Within the Event Processor, the March 2015 JobScheduler Events page: 17
18 JobScheduler Events - Event Processing event processing Rules Set is processed by the Event Handler. Jobs 1 and 3 are run by the Supervisor Job Scheduler and also cause events. The event processor would then start, for example, Job C when a rule set returns TRUE. Events have a limited lifetime, which can be set when they are generated: the default setting is that events expire at 00:00 i.e. at midnight. As long as an event has not expired, it is possible for it to be explicitly deleted by an event handling routine. All events are saved in a database and remain available after the Job Scheduler has been restarted. 2.3 Testing for events in a job chain Sometimes it is necessary to test within a job chain for the presence of one or more events and to make further processing of the chain dependent on the results of these tests. The JobSchedulerExistsEventJob job is provided for this purpose. This job tests whether particular events exist. It does this by processing orders that contain specification(s) of the event(s). Depending on whether or not the events exist, the order will either be set to the next_state or to the error_state. The specification of the events to be tested is saved in the scheduler_event_spec parameter. This parameter contains an XPath expression, which will be applied to the XMLrepresentation of the events. If the XPath expression returns a result, then the order will be set to the next_state. If the XPath expression does not return a result, then the order will be set to the error_state. An example for the use of this job can be found in the Appendix. The documentation for this job can be found in the Job Scheduler installation directory under./jobs/jobschedulerexistseventjob.xml Example event tests //event[@event_class='foo'] Successful, if an event with the "foo" event class is found //events[event[@event_class='foo'] and events[event[@event_class='bar']] Successful, if an event with the "foo" event class is found along with one with the "bar" class //events[not(event[@event_class='foo'])] Successful, if no event with the "foo" event class is found Example: Event tests March 2015 JobScheduler Events page: 18
19 JobScheduler Events - Synchronization of Job Chains 3 Synchronization of Job Chains The synchronization of job chains is a standard task that in a simplified form can be configured without the use of events: Consider a number of job chains, that are to be synchronized at a particular point in each chain. In other words, the orders in a job chain will only be processed beyond the synchronization point once all the orders in the other job chains have been processed up to the synchronization point. Both orders will wait at the synchronization point until all job chains have an order. This means that job chains 1 and 2 will not be processed as long as job chain 3 has not received an order. The number of orders that are synchronized is specified in the Sync-Job (default=1). This means that, for example, if a new order arrives in Job Chain 2 (meaning that there are now two orders in this job chain), and then an order in Job Chain 3, then only one order will be processed in each job chain. In this case, the first order in Job Chain 2 will be processed along with the order in Job Chain 3. The second order in Job Chain 2 will remain at the synchronization point until a further order arrives in Job Chain 3. More information about this procedure can be read in our How can job chains be synchronized? article on our web-site. Configuration of the Sync-Job: March 2015 JobScheduler Events page: 19
20 JobScheduler Events - Synchronization of Job Chains <job order="yes" stop_on_error="no"> <!-- <params> <param name="chaina_required_orders" value="2"/> <param name="chainb_required_orders" value="3"/> </params> --> <script java_class="sos.scheduler.job.jobschedulersynchronizejobchains" language="java"/> <delay_order_after_setback setback_count="1" is_maximum="no" delay="00:02"/> <delay_order_after_setback setback_count="200" is_maximum="yes" delay="00:02"/> <run_time/> </job> Example: Configuration of the job chain synchronisation job March 2015 JobScheduler Events page: 20
21 JobScheduler Events - Event Handlers 4 Event Handlers All event handlers basically function by searching for and determining whether or not events exist. All existing events are held in a global JobScheduler variable. The content of the JobScheduler variables can be found in the event processor log file. In this case the list of the events currently existing. Further information can be written in the scheduler/logs/task.scheduler_event_service.log file when the debug-level in the./config/factory.ini file is set to a value > 2. This is done in the [spooler] section of the file and a typical value would be debug3. Settings made in this section of the scheduler/config/factory.ini file are applicable to all jobs. When, however, the debug level is set in the [scheduler_event_service] section, the settings made will only apply to jobs being run by the Event Processor. With a debug3 level, the current task XML structure will be written in the event processor log file ( scheduler/logs/task.scheduler_event_service.log ). A typical XML structure would be: <events current_date=" :14:01" expiration_date=" :14:01"> <event created=" :13:29" event_class="example" event_id="0" exit_code="0" expires=" :13:30" job_chain="" job_name="simple_shell_job" order_id="" remote_scheduler_host="wilma" remote_scheduler_port="4444" scheduler_id="scheduler.supervisor"/> <event created=" :14:01" event_class="example" event_id="0" exit_code="0" expires=" :14:01" job_chain="txt_chain" job_name="file_job" order_id="files/in/sample2.txt" remote_scheduler_host="wilma" remote_scheduler_port="4444" scheduler_id="scheduler.supervisor"/> </events> Example: Structure of a typical XML event handler The Event Processor first of all determines and executes all the event handlers. It recognizes two types of event handlers: XML Event Handlers XSL Event Handlers XML event handlers are written and modified using the JOE and define the event processing rules and the corresponding actions. XSL event handlers are processed using an XSLT style sheet transformation. This transformation results in commands for one or more JobSchedulers. All event handlers are stored in a central directory, the name of which is stored in the event processor event_handler_filepath job parameter. March 2015 JobScheduler Events page: 21
22 JobScheduler Events - Event Handlers 4.1 Script-Based Event Handlers Events can be monitored using shell scripts. This means that it is possible to implement checks in shell scripts and use the possibilities provided by shell scripts to handle the events. In this case, the event processor is only used to record and save the events. Either the jobscheduler_event.cmd or the jobscheduler_event.sh shell scripts are used to determine whether or not a particular event is present. In this case there are two possible ways of checking whether the event exists: The -w option is set to check. In addition, the attributes that are to be sought for can be set. The script writes the number of events found to stdout. In addition, the %JOB_SCHEDULER_COUNT_EVENTS% environment variable is set on Windows systems Example queries: call c:\scheduler\bin\jobscheduler_event.cmd -h localhost -p w check -e foo call./bin/jobscheduler_event.cmd -h localhost -p w check -e foo How many "foo" class events have occurred? The script calls the JobScheduler at port 4454 on localhost and asks for the number of occurences for the event named "foo". How many foo class events have occurred (with XPath)? call c:\scheduler\bin\jobscheduler_event.cmd h localhost p 4454 w check a //events/event[@event_class='foo'] Has an event occurred with both the foo and the bar classes? call c:\scheduler\bin\jobscheduler_event.cmd h localhost p 4454 w check a //events[event/@event_class='foo' and event/@event_class='bar'] Has no foo class event occurred? call c:\scheduler\bin\jobscheduler_event.cmd h localhost p 4454 w check a //events[not(event/@event_class='foo')] How many foo class events have occurred (with XPath)? An example split and merge script In this example, one script is used to start three further scripts in parallel (split). It is only after all three scripts have been completed that processing will be continued (merge). The three scripts running in parallel each signal their completion by generating an event The main script The implementation of the main script is defined in a job. The scripts called by this script do not have to be present on the Job Scheduler as jobs. March 2015 JobScheduler Events page: 22
23 JobScheduler Events - Event This is Script Begin Split is now taking place. start b.cmd start c.cmd start End Begin merge :merge call c:\scheduler\bin\jobscheduler_event.cmd -h localhost -p w check -e test ++%JOB_SCHEDULER_COUNT_EVENTS%++ class test events Sleep 10 seconds ping -n 11 localhost > Number of events present determined if %JOB_SCHEDULER_COUNT_EVENTS% lss 3 goto End Merge has been Delete events call c:\scheduler\bin\jobscheduler_event.cmd -h localhost -p w remove -e test Example: The main script specifying the split and merge operations Script B (similar to scripts C and This is Script B.... Generate result call c:\scheduler\bin\jobscheduler_event.cmd -h localhost -p w add -i B -e test Example: One of the secondary scripts being split and merged The same example could also, for example, have been configured for 4 jobs A, B, C and D instead of the scripts described above. All scripts are defined as jobs. In this case the implementation of Job A would look like: <job> <script This is Script Begin Split is now taking place. call c:\sos\scheduler\bin\jobscheduler.cmd command "<start_job job='test/jobb'/> call c:\sos\scheduler\bin\jobscheduler.cmd command "<start_job job='test/jobc'/> call c:\sos\scheduler\bin\jobscheduler.cmd command "<start_job End Begin merge :merge call c:\scheduler\bin\jobscheduler_event.cmd -w check -e test > ++%JOB_SCHEDULER_COUNT_EVENTS%++ class test events found. ping -n 11 localhost > nul if %JOB_SCHEDULER_COUNT_EVENTS% lss 3 goto End Merge has been completed. call c:\scheduler\bin\jobscheduler_event.cmd -w remove -e test </script> <run_time /> </job> Example: The job containing the main script specifying the split and merge operations The implementation of Job B and correspondingly Jobs C and D would look like: March 2015 JobScheduler Events page: 23
24 JobScheduler Events - Event Handlers <job> <script This is Script B. call c:\scheduler\bin\jobscheduler_event.cmd -w add -i B -e test </script> <run_time /> </job> Example: A job containing one of the secondary scripts being split and merged 4.2 XSL Event Handlers Event handlers will be executed when their names correspond with the regular expression defined in the event_handler_filespec job parameter. In addition, the Event Processor job processes job stylesheets for particular jobs, job chains or event classes according to the following name convention: [job_name].*.job.xsl Is executed for events belonging to the [job_name] job; [job_chain_name].*.job_chain.xsl Is executed for events belonging to a job in the [job_chain_name] job chain; [event_class].*.event_class.xsl Is executed for events belonging to the [event_class] class. XSL event handlers must be manually written using a text editor. The event handler in the example below executes the list of all known events (see above). The following example shows an event handler that searches for three events: an event from the simple_shell_job job and an event from each of the two job chains listed. <xsl:template match="events[ event[@job_name='simple_shell_job'] and event[@job_chain='txt_chain'] and event[@job_chain='pdf_chain'] ]"> Example: An XSL event handler that waits for three events Once these events have been found, two commands are sent to the Supervisor Job Scheduler. The first command starts the samples/events/done_job job in the Workload Job Scheduler: <xsl:call-template name="run_job"> <xsl:with-param name="job">samples/events/done_job</xsl:with-param> <xsl:with-param name="host">localhost</xsl:with-param> <xsl:with-param name="port">4444</xsl:with-param> </xsl:call-template> Example: The first command, which starts the "done_job" job The second command deletes the events, in order to ensure that they are not processed a second time. <remove_event><event event_class="example"/></remove_event> Example: The second command, which deletes the events March 2015 JobScheduler Events page: 24
25 JobScheduler Events - Event Handlers 4.3 XML Event Handlers The Event Handler directory is searched for events in the following order: [job_name].*.job.actions.xml Is executed for events belonging to the [job_name] job; [job_chain_name].*.job_chain.actions.xml Is executed for events belonging to a job in the [job_chain_name] job chain; [event_class].*.event_class.actions.xml Is executed for events belonging to the [event_class] class [name].actions.xml Is executed for all events. If an event is created by the job1 job and a file with the name job1.job.actions.xml exists, then this file will be executed. XML event handling routines can be written and modified using the Job Scheduler Job Editor. In order to create new event handling routines, click on the New menu item and on Event Handler. XML event handling routines consist of a rule set and a list of commands. The commands will be executed once the rule set is evaluated as being TRUE. Commands for the each Job Scheduler instance can be brought together in groups Example: Event handling commands and groups <commands> <command name="command_1" scheduler_host="localhost" scheduler_port="4454"> <start_job job="job0" at="now" /> <add_order job_chain="job_chain1" replace="yes" /> </command> <command name="command_2" scheduler_host="server" scheduler_port="4444"> <start_job job="job33" at="now" /> </command> </commands> Example: Event handling commands grouped together In this example, two command groups are described: in the first group, two commands are defined for the localhost:4454 Job Scheduler and; in the second group one command for the server:4444 Job Scheduler Rule Sets The rule set consists of one or more event groups. An event group consists of a list of events combined together with a Boolean expression. The event groups are evaluated individually and the results of the evaluation combined using the Boolean expression. This determines whether or not the commands will be executed. March 2015 JobScheduler Events page: 25
26 JobScheduler Events - Event Handlers Shortened notation: When all the elements of a group are to be combined using OR or AND operators, then it is sufficient when the logic parameter is set to or or and as shown in the example below. This also applies for combination of groups Example 1: Using XML event handler rule sets Group 1: Event A and Event B Logic of group Test is A OR B Group 2: Event C and Event D Logic of group Sample is C AND D The groups are linked together using Test AND Sample This means that, for example, when A is present, B missing and both C and D present, then the commands will be executed. <events logic=test and Sample> <event_group group="test" logic="or"> <event event_id="a" event_class="sample" event_title="job1 ist gelaufen" job_name="job1" /> <event event_id="b" event_class="sample" event_title="job2 ist gelaufen" job_name="job2" /> </event_group> <event_group group="sample"> <event event_id="c" event_class="sample" event_title="job3 ist gelaufen" job_name="job3" /> <event event_id="d" event_class="sample" event_title="job4 ist gelaufen" job_name="job4" /> </event_group> </events> Example: Using XML event handler rule sets In this example, two command groups are described: in the first group, two commands for the localhost:4454 Job Scheduler are defined and; in the second group one command for the server:4444 Job Scheduler Example 2: Combined event and run time rules and actions Note that the configuration of the event generator for this example was described in Section 2.1 March 2015 JobScheduler Events page: 26
27 JobScheduler Events - Event Handlers <?xml version="1.0" encoding="utf-8"?> <actions> <action name="sampleaction"> <events> <event_group group="beforeprinting" logic="and"> <event event_id="myid1" event_class="myclass" event_title="17:00 reached" /> <event event_id="myid2" event_class="myclass" event_title="step100 is ready" /> </event_group> </events> <commands> <command name="command_1" scheduler_host="localhost" scheduler_port="4444"> <start_job job="dailyprint" /> </command> </commands> </action> </actions> Example: Combining event and run time rules If the time is 17:00 or later and a particular step in a job chain has been completed, then the dailyprint job should be started Example 3: The "Merge and Split" scenario described previously Note that this scenario was described in Chapter 1. March 2015 JobScheduler Events page: 27
28 JobScheduler Events - Event Handlers <?xml version="1.0" encoding="utf-8"?> <actions> <action name="beforejob5"> <events logic="and"> <event_group group="pre" logic="and" event_class="pre"> <event event_id="1" event_title="job 1 is ready" job_name="job1" /> <event event_id="2" event_title="job 2 is ready" job_name="job2" /> <event event_id="3" event_title="job 3 is ready" job_name="job3" /> <event event_id="4" event_title="job 4 is ready" job_name="job4" /> </event_group> </events> <commands> <command name="command_1" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job5" /> </command> </commands> </action> <action name="afterjob5"> <events> <event_group group="post" event_class="post" logic="and"> <event event_id="5" event_title="job5 is ready" job_name="job5" /> </event_group> </events> <commands> <command name="start Job6" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job6" /> </command> <command name="start Job7" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job7" /> </command> <command name="start Job9" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job9" /> </command> <command name="start Jobchain" scheduler_host="localhost" scheduler_port="4444"> <add_order job_chain="job_chain_sample" replace="yes" id="4711" /> </command> </commands> </action> </actions> Example: "Merge and Split" In this example Job 1, Job 2, Job 3 and Job 4 run at different times. However, Job 5 will only be started when all four have been successfully completed. Finally, Job 6, Job 7, Job 9 and the job chain comprising Job 80, Job 81 and Job 82 will be started. March 2015 JobScheduler Events page: 28
29 JobScheduler Events - Event Handlers Creating XML rule sets with the JobScheduler Job Editor Event handling routines are made up of one or more actions. Actions, in turn, are made up from event groups and commands with the event groups being evaluated according to the (event logic) conditions specified. Similarly, groups will be evaluated according to the corresponding group logic conditions. If all groups evaluate to TRUE, then the relevant commands will be executed. If only one group has been specified, then this must evaluate TRUE. If only no condition has been specified, then one of the groups must evaluate TRUE (default or) Example: one group and two events When event 1 or event 2 is present then the commands will be executed. March 2015 JobScheduler Events page: 29
30 JobScheduler Events - Event Handlers Step 1: add a new action Step 2: add a new event group A group has a name and a logic parameter and comprises one or more events. An event class can be specified for all the events of a group. The default logic operator is OR. The logical operators possible are: OR: one of the events must be present AND: all events must be present conditions that combine the results of a group. For example: event1 and not event2 Within the logic parameter, events are referenced by their names. If the name of an event is empty, a name will be generated for it by the Event Processor using <class>.<id>. March 2015 JobScheduler Events page: 30
31 JobScheduler Events - Event Handlers Step 3: specify events An event has the following parameters: Title: Is shown in the console event monitor. Name: Is used to address the event in the logic (e.g. event1 and not event2). If only or or and are specified in the logic, then it is not necessary to specify a name. However, it is recommended that a name is defined as, for example, this will be shown in the console event monitor. Class: Is used to test whether an event is to be found in the list of current events. Can be used if the name of an event is empty and an internal name is generated using class.id. ID: Used to test whether an event is to be found in the list of current events. Can be used if the name of an event is empty and an internal name is generated using class.id. Job name: Is used to test whether an event is to be found in the list of current events. Job chain name: Used to test whether an event is to be found in the list of current events. Current order identifier: The current order identifier (order id) is used to test whether an event is to be found in the list of current events. March 2015 JobScheduler Events page: 31
32 JobScheduler Events - Event Handlers Step 4: specify logic The logic can either be specified using a wizard or directly entered in the input field. In the screen shot below "or" has been selected from the list of possible operators Step 5: add any additional groups More groups can be included using the Group Logic Field. The default logic operator for groups is "OR" Step 6: add commands A host and a port need to be specified for all commands within a block. The commands are then sent to this Job Scheduler. Commands are added using "New Command". The following commands are available: March 2015 JobScheduler Events page: 32
33 JobScheduler Events - Event Handlers start job: Starts a job. The start time is to be specified. order: Starts a job chain, job chain: The job chain for the order order ID: A unique ID for the order start time: Orders can be given delayed starts priority: The order priority title: Free text status: The state with which the order should start in the job chain. end state: The job chain state which the order should run to. replace: Should the order overwrite an existing order of the same ID? start job: Starts a job. The start time is to be specified. add event: Creates a new event March 2015 JobScheduler Events page: 33
34 JobScheduler Events - Event Handlers remove event: Deletes events. For example, all the events belonging to a class or job could be deleted. The event handler is saved as an XML file: March 2015 JobScheduler Events page: 34
35 JobScheduler Events - Event Handlers <?xml version="1.0" encoding="utf-8"?> <actions> <action name="new Action 1"> <events> <event_group group="test" logic="or"> <event event_id="1" event_class="sample" event_title="job1 has been completed" job_name="job1" /> <event event_id="2" event_class="sample" event_title="job2 has been completed" job_name="jobd2" /> </event_group> </events> <commands> <command name="command_1" scheduler_host="localhost" scheduler_port="4454"> <start_job job="job0" at="now" /> <add_order job_chain="job_chain1" replace="yes" /> </command> </commands> </action> </actions> Example: A typical event handler as an XML file Evaluation of the rule set Evaluation of the rule set tests whether the events specified in the logic of an event group can be found in the list of currently existing events. The TRUE / FALSE values determined are then combined using the group Boolean operators. An event is seen as being present in the events list once the attributes specified in the event handler have been tested. Note, however, that the title, expires and creation attributes are not considered here Example: Rule set evaluation This event group evaluates to TRUE when event1 is present and event2 not present. event1 is present, when an event with event_class="sample", event_id="1" and job_name="job1" is found event2 is present, when an event with event_id="2" is found. <event_group group="test" logic="event1 and not event2"> <event event_id="1" event_name="event1" event_class="sample" event_title="job1 has been completed" job_name="job1" /> <event event_id="2" event_name="event2" event_title="job2 has been completed"/> </event_group> Example: A typical XML rule set March 2015 JobScheduler Events page: 35
36 JobScheduler Events - Event Processing Configuration 5 Event Processing Configuration 5.1 Event Processor Installation The Event Processor must be installed on a Supervisor Job Scheduler. The scheduler_event_service file can be found in the config directory of the Job Scheduler installation and defines scheduler_event_service job chain. This job chain implements the Event Processor. The configuration should be defined as a <base file="..."/> so that it is made known to the Supervisor Job Scheduler. <?xml version="1.0" encoding="iso "?> <config> <!-- --> <base file="scheduler_events.xml"/> <process_classes> <process_class max_processes="10"/> </process_classes> </config> Example: Configuration of the Event Processor with the scheduler_event_service file Use the following link to download the Event Processor as a file Configuration: The expiration_period parameter should be set to the standard expiry time required for all events: e.g. <param name="expiration_period" value="00:00"/> Example: Setting the Event Processor expiration_period parameter 5.2 Define at least one event handler Event handlers are written and modified using the Job Scheduler Job Editor. The default directory for saving Event Handlers is scheduler/config/events. Note that this directory can be changed by modifying the following parameter in the Event Processor: <param name="event_handler_filespec" value="scheduler_events.xsl"/> Example: Setting the default directory for saving Event Handlers The following example illustrates a very simple Event Handler, in which Job B starts after Job A has been completed: March 2015 JobScheduler Events page: 36
37 JobScheduler Events - Event Processing Configuration <?xml version="1.0" encoding="utf-8"?> <actions> <action name="sample"> <events> <event_group group="main"> <event event_id="0" event_title="job A" job_name="job_a" /> </event_group> </events> <commands> <command name="start_job_b" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job_b" /> </command> </commands> </action> </actions> Example: A simple XML event handler 5.3 Configure an event generator for every event listed in the event handler There are several possible methods to generate a "Job A is running" event: if it is a shell job then the jobscheduler_event.cmd shell script can be called; if it is a Java job then the monitor can be used. Example showing the use of a shell script: <job> <script language="shell"> <![CDATA[ # any commands # submit event to Supervisor Job Scheduler ${SCHEDULER_HOME}/bin/jobscheduler_event.sh -x $? -e "sample" ]] </script> <run_time/> </job> Example: A shell script based event generator that generates the events listed in the event handler March 2015 JobScheduler Events page: 37
38 JobScheduler Events - Event Handling Routine Examples 6 Event Handling Routine Examples 6.1 Example: Split and Merge <actions> <action name="split"> <events> <event_group group="a"> <event event_class="example_split" event_id="0" event_title="job A" job_name="job_a"/> </event_group> </events> <commands> <command name="start B1" scheduler_host="localhost" scheduler_port="4474"> <start_job job="samples/splitandmerge/job_b_1"/> </command> <command name="start B2" scheduler_host="localhost" scheduler_port="4474"> <start_job job="samples/splitandmerge/job_b_2"/> </command> <remove_event debug="example_split"> <event event_class="example_split" event_id="0" job_name="job_a"/> </remove_event> </commands> </action> <action name="and Merge"> <events> <event_group logic="and" group="a"> <event event_class="example_andmerge" event_id="0" event_title="job B_1" job_name="job_b_1"/> <event event_class="example_andmerge" event_id="0" event_title="job B_2" job_name="job_b_2" comment="call if not active before 18:00"/> <event event_class="example_andmerge" event_id="0" event_title="job B_4" job_name="job_b_4" comment="is started manually"/> </event_roup> </events> <commands> <command name="start C" scheduler_host="localhost" scheduler_port="4474"> <start_job job="samples/splitandmerge/job_c"/> </command> <remove_event debug="example_andmerge"> <event event_class="example_andmerge" event_id="0"/> </remove_event> </commands> </action> </actions> Example: Handling split and merge This example consists of two actions: the "split" action, which is followed by the "merge" action. The "split" action starts job_b_1 and job_b_2 once job_a has been completed. In addition, the event will be deleted after it has been processed. The "merge" action waits on the job_b_1 completed and job_b_2 completed events as well as the conditions for job_b_4, which is manually started. The action then starts job_c and removes the events involved. March 2015 JobScheduler Events page: 38
39 JobScheduler Events - Event Handling Routine Examples 6.2 Example: Job synchronisation on different JobSchedulers <actions> <action name="new Action 1"> <events> <event_group group="main"> <event event_id="1" event_class="sample" event_title="job A" job_name="job_a" /> <event event_id="2" event_class="sample" event_title="job B" job_name="job_b" /> </event_group> </events> <commands> <command name="command_1" scheduler_host="scheduler2" scheduler_port="4444"> <start_job job="job_c" /> </command> </commands> </action> </actions> Example: Job A and Job B on Job Scheduler 1, then Job C on Job Scheduler 2 Job A and job B run on Job Scheduler 1 and each generates an event. Once both events are present, Job_C is started on Job Scheduler Example: Job has not run before a specified time <actions> <action name="missing File"> <events logic="a"> <event_group logic="example_missing.time and Not example_missing.file" group="a"> <event event_class="example_missing" event_id="file" event_title="file is detected" job_name="job_a" /> <event event_class="example_missing" event_id="time" event_title="its Teatime now" job_name="job_1700" /> </event_group> </events> <commands> <command name="start B1" scheduler_host="localhost" scheduler_port="4474"> <start_job job="job_b1" /> </command> <remove_event> <event event_class="example_missing" event_id="0" /> </remove_event> </commands> </action> </actions> Example: Job A has not run by 5 o'clock In this example, the situation where job_a monitors a directory is considered: The function of job_1700 is exclusively that of running at 17:00 and sending an event. Job_B is started, when job_1700 has run and job_a has not been completed: March 2015 JobScheduler Events page: 39
40 JobScheduler Events - Event Handling Routine Examples 6.4 Example: Notification when a file has not arrived before 17:00 <?xml version="1.0" encoding="utf-8859"?> <job name="sample" title="submit "17:00" Event;"> <description> <include file="jobs/jobschedulersubmiteventjob.xml"/> </description> <params> <param name="scheduler_event_class" value="file_arrived"/> <param name="scheduler_event_id" value="1"/> </params> <script language="java" java_class="sos.scheduler.job.jobschedulersubmiteventjob"/> <run_time> <period single_start="17:00"/> </run_time> </job> Example: Step 1 - Generate the "It is 17:00" event <?xml version="1.0" encoding="iso "?> <job name="sample" title="submit Event "File has arrived""> <description> <include file="jobs/jobschedulersubmiteventjob.xml"/> </description> <params> <param name="scheduler_event_class" value="file_arrived"/> <param name="scheduler_event_id" value="2"/> </params> <script language="java" java_class="sos.scheduler.job.jobschedulersubmiteventjob"/> </job> Example: Step 2 - Generate the "Generate the file has arrived" event <?xml version="1.0" encoding="utf-8"?> <actions> <action name="fileismissing"> <events> <event_group group="file Missing" logic="its17_00 and not File" event_class="file_arrived"> <event event_name="file" event_class="file_arrived" event_title="file has arrived" event_id="2" /> <event event_name="its17_00" event_title="a specific time has been reached" event_id="1" /> </event_group> </events> <commands> <command name="notify" scheduler_host="localhost" scheduler_port="4444"> <start_job job="job_notify"> <params> <param name="to" value="[email protected]" /> <param name="subject" value="file is missing" /> </params> </start_job> </command> <remove_event> <event event_class="file_arrived" /> </remove_event> </commands> </action> </actions> Example: Step 3 - The event handler March 2015 JobScheduler Events page: 40
41 JobScheduler Events - Appendix 7 Appendix 7.1 Event Processor configuration The job chain contains the scheduler_event job. The parameterization of this job is described in the scheduler/jobs/jobschedulereventjob.xml documentation. <config> <jobs> <job name="scheduler_event_service" title="process Events" order="yes" stop_on_error="no" timeout="120"> <description> <include file="jobs/jobschedulereventjob.xml"/> </description> <params> <param name="event_handler_filepath" value="./config/events"/> <param name="event_handler_filespec" value="scheduler_events.xsl"/> <param name="expiration_period" value="12:00"/> </params> <script java_class="sos.scheduler.job.jobschedulereventjob" language="java"/> <run_time/> </job> </jobs> <job_chains> <job_chain name="scheduler_event_service" orders_recoverable="no" visible="yes"> <job_chain_node state="start" job="scheduler_event_service" next_state="end" error_state="error"/> <job_chain_node state="end"/> <job_chain_node state="error"/> </job_chain> </job_chains> <commands> <add_order id="event_processor" job_chain="scheduler_event_service"> <params> <param name="action" value="process"/> <param name="event_handler_filespec" value="\.xsl$"/> </params> <run_time let_run="yes" repeat="300"/> </add_order> </commands> </config> Example: Event processor configuration March 2015 JobScheduler Events page: 41
JobScheduler Events Definition and Processing
JobScheduler - Job Execution and Scheduling System JobScheduler Events Definition and Processing Referenz März 2015 März 2015 JobScheduler Events Seite: 1 Impressum Impressum Software- und Organisations-Service
JobScheduler Web Services Executing JobScheduler commands
JobScheduler - Job Execution and Scheduling System JobScheduler Web Services Executing JobScheduler commands Technical Reference March 2015 March 2015 JobScheduler Web Services page: 1 JobScheduler Web
JobScheduler - Quickstart
JobScheduler - Job Execution and Scheduling System JobScheduler - Quickstart An Introduction to Job Scheduling March 2015 March 2015 JobScheduler - Quickstart page: 1 JobScheduler - Quickstart - Contact
CrontabFile Converter
JobScheduler - Job Execution and Scheduling System CrontabFile Converter Users Manual July 2014 July 2014 CrontabFile Converter page: 1 CrontabFile Converter - Contact Information Contact Information Software-
JobScheduler Installation by Copying
JobScheduler - Job Execution and Scheduling System JobScheduler Installation by Copying Deployment of multiple JobSchedulers on distributed servers by copying a template JobScheduler March 2015 March 2015
JobScheduler and Script Languages
JobScheduler - Job Execution and Scheduling System JobScheduler and Script Languages scripting with the package javax.script March 2015 March 2015 JobScheduler and Script Languages page: 1 JobScheduler
JobScheduler Security
JobScheduler - Job Execution and Scheduling System JobScheduler Security March 2015 March 2015 JobScheduler Security page: 1 JobScheduler Security - Contact Information Contact Information Software- und
How To Use The Jobscheduler On A Linux Box 2.5.2.2 (Jid) On A Pcode (Jio) Or Macbook 2.2 On A Microsoft Powerbook 2 (For A Freebie
JobScheduler - Job Execution and Scheduling System JobScheduler Information Dashboard Work Plan and History March 2015 March 2015 JobScheduler page: 1 JobScheduler - Contact Information Contact Information
Architecture and Mode of Operation
Open Source Scheduler Architecture and Mode of Operation http://jobscheduler.sourceforge.net Contents Components Platforms & Databases Architecture Configuration Deployment Distributed Processing Security
MySQL Job Scheduling
JobScheduler - Job Execution and Scheduling System MySQL Job Scheduling MySQL automation March 2015 March 2015 MySQL Job Scheduling page: 1 MySQL Job Scheduling - Contact Information Contact Information
JOB SCHEDULER. Managed Jobs. Technical Documentation March 2009. Job Automation
Job Automation Managed Jobs JOB SCHEDULER Technical Documentation March 2009 Software- und Organisations-Service GmbH Giesebrechtstr. 15 10629 Berlin Germany Telephone +49 30 86 47 90-0 Telefax +49 30
Integrating with BarTender Integration Builder
Integrating with BarTender Integration Builder WHITE PAPER Contents Overview 3 Understanding BarTender's Native Integration Platform 4 Integration Builder 4 Administration Console 5 BarTender Integration
Cleo Communications. CUEScript Training
Cleo Communications CUEScript Training Introduction RMCS Architecture Why CUEScript, What is it? How and Where Scripts in RMCS XML Primer XPath Pi Primer Introduction (cont.) Getting Started Scripting
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0 Third edition (May 2012). Copyright International Business Machines Corporation 2012. US Government Users Restricted
Understanding Task Scheduler FIGURE 33.14. Task Scheduler. The error reporting screen.
1383 FIGURE.14 The error reporting screen. curring tasks into a central location, administrators gain insight into system functionality and control over their Windows Server 2008 R2 infrastructure through
sqlcmd -S.\SQLEXPRESS -Q "select name from sys.databases"
A regularly scheduled backup of databases used by SyAM server programs (System Area Manager, Management Utilities, and Site Manager can be implemented by creating a Windows batch script and running it
User Guide - English. ServerView Suite. DeskView and ServerView Integration Pack for Microsoft SCCM
User Guide - English ServerView Suite DeskView and ServerView Integration Pack for Microsoft SCCM Edition June 2010 Comments Suggestions Corrections The User Documentation Department would like to know
Monitor Print Popup for Mac. Product Manual. www.monitorbm.com
Monitor Print Popup for Mac Product Manual www.monitorbm.com Monitor Print Popup for Mac Product Manual Copyright 2013 Monitor Business Machines Ltd The software contains proprietary information of Monitor
SIMATIC. SIMATIC Logon. User management and electronic signatures. Hardware and Software Requirements. Scope of delivery 3.
SIMATIC SIMATIC SIMATIC User management and electronic signatures 1 Hardware and Software Requirements 2 Scope of delivery 3 Installation 4 5 Configuration Manual 08/2008 A5E00496669-05 Legal information
LDCDP 11999.GdW. L force Controls. Ä.GdWä. Software Manual. Industrial PC. WindowsR CE Thin Client. Operating system
L force Controls Ä.GdWä LDCDP 11999.GdW Software Manual Industrial PC WindowsR CE Thin Client Operating system l Please read these instructions before you start working! Follow the enclosed safety instructions.
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
Novell Identity Manager
AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with
Windows Scheduled Task and PowerShell Scheduled Job Management Pack Guide for Operations Manager 2012
Windows Scheduled Task and PowerShell Scheduled Job Management Pack Guide for Operations Manager 2012 Published: July 2014 Version 1.2.0.500 Copyright 2007 2014 Raphael Burri, All rights reserved Terms
Kaldeera Workflow Designer 2010 User's Guide
Kaldeera Workflow Designer 2010 User's Guide Version 1.0 Generated May 18, 2011 Index 1 Chapter 1: Using Kaldeera Workflow Designer 2010... 3 1.1 Getting Started with Kaldeera... 3 1.2 Importing and exporting
Authoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
Dollar Universe SNMP Monitoring User Guide
Dollar Universe SNMP Monitoring User Guide Version: 6.6.01 Publication Date: 2016-02 Automic Software GmbH ii Copyright Copyright Automic and the Automic logo are trademarks owned by Automic Software GmbH
Introduction. This white paper provides technical information on how to approach these steps with Symantec Antivirus Corporate edition.
Introduction The process of updating virus definitions on workstations protected by Deep Freeze Enterprise involves three fundamental steps: 1. Rebooting the workstations into a Thawed state so the updates
Autotask Service Tickets with WhatsUp Gold
Autotask Service Tickets with WhatsUp Gold Introduction The Autotask Add Ticket E mail Service has the functionality to allow you to configure the service to work with a monitoring alert system. At this
White Paper. Fabasoft app.test Load Testing. Fabasoft app.test 2015 Update Rollup 2. Fabasoft app.test Load Testing 1
White Paper Fabasoft app.test Load Testing Fabasoft app.test 2015 Update Rollup 2 Fabasoft app.test Load Testing 1 Copyright Fabasoft R&D GmbH, Linz, Austria, 2015. All rights reserved. All hardware and
IBM Business Monitor. BPEL process monitoring
IBM Business Monitor BPEL process monitoring 2011 IBM Corporation This presentation will give you an understanding of monitoring BPEL processes using IBM Business Monitor. BPM_BusinessMonitor_BPEL_Monitoring.ppt
WebSphere Business Monitor
WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25
TICO-EN. TiXML-Console TICO. User Manual V1.4.0.8
TICO-EN TiXML-Console TICO User Manual V1.4.0.8 2008 Tixi.Com GmbH, Berlin Publication close: September 2008, v.1.4.0.8 This manual is protected by copyright. Any further sale is prohibited without the
Sophos for Microsoft SharePoint startup guide
Sophos for Microsoft SharePoint startup guide Product version: 2.0 Document date: March 2011 Contents 1 About this guide...3 2 About Sophos for Microsoft SharePoint...3 3 System requirements...3 4 Planning
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1 This document supports the version of each product listed and supports all subsequent versions until the document
Dove User Guide Copyright 2010-2011 Virgil Trasca
Dove User Guide Dove User Guide Copyright 2010-2011 Virgil Trasca Table of Contents 1. Introduction... 1 2. Distribute reports and documents... 3 Email... 3 Messages and templates... 3 Which message is
August 13, 2014. Install/Uninstall/Share Xerox Print Drivers Best Practices for Windows Server 2012 R2 Customer Tip
August 13, 2014 Install/Uninstall/Share Xerox Print Drivers Best Practices for Windows Server 2012 R2 Customer Tip 2014 Xerox Corporation. All rights reserved. Xerox, Xerox and Design, ColorQube, and WorkCentre
Deploying Cisco Unified Contact Center Express Volume 1
Deploying Cisco Unified Contact Center Express Volume 1 Course Introduction Learner Skills and Knowledge Course Goal and Course Flow Additional References Your Training Curriculum General Administration
IBM. Implementing SMTP and POP3 Scenarios with WebSphere Business Integration Connect. Author: Ronan Dalton
IBM Implementing SMTP and POP3 Scenarios with WebSphere Business Integration Connect Author: Ronan Dalton Table of Contents Section 1. Introduction... 2 Section 2. Download, Install and Configure ArGoSoft
Data processing goes big
Test report: Integration Big Data Edition Data processing goes big Dr. Götz Güttich Integration is a powerful set of tools to access, transform, move and synchronize data. With more than 450 connectors,
Documentum Content Distribution Services TM Administration Guide
Documentum Content Distribution Services TM Administration Guide Version 5.3 SP5 August 2007 Copyright 1994-2007 EMC Corporation. All rights reserved. Table of Contents Preface... 7 Chapter 1 Introducing
JobScheduler - Amazon AMI Installation
JobScheduler - Job Execution and Scheduling System JobScheduler - Amazon AMI Installation March 2015 March 2015 JobScheduler - Amazon AMI Installation page: 1 JobScheduler - Amazon AMI Installation - Contact
SafeCom G2 Enterprise Disaster Recovery Manual
SafeCom G2 Enterprise Disaster Recovery Manual D60612-06 September 2009 Trademarks: SafeCom, SafeCom Go, SafeCom P:Go, SafeCom OnLDAP, SafeCom epay and the SafeCom logo are trademarks of SafeCom a/s. Company
Copyright 2013 GE Multilin Inc. All rights reserved. CyberSentry SEM software revision 1.00. CyberSentry, Digital Energy, Multilin, and GE Multilin
Copyright 2013 GE Multilin Inc. All rights reserved. CyberSentry SEM software revision 1.00. CyberSentry, Digital Energy, Multilin, and GE Multilin are trademarks or registered trademarks of GE Multilin
ENHANCE. The Style Sheet Tool for Microsoft Dynamics NAV. Microsoft Dynamics NAV 5.0. User s Guide
ENHANCE Microsoft Dynamics NAV 5.0 The Style Sheet Tool for Microsoft Dynamics NAV User s Guide The Style Sheet feature in Microsoft Dynamics TM NAV 5.0 has been enhanced with a new tool that allows you
VRC 7900/8900 Avalanche Enabler User s Manual
VRC 7900/8900 Avalanche Enabler User s Manual WLE-VRC-20030702-02 Revised 7/2/03 ii Copyright 2003 by Wavelink Corporation All rights reserved. Wavelink Corporation 6985 South Union Park Avenue, Suite
Universal Event Monitor for SOA 5.2.0 Reference Guide
Universal Event Monitor for SOA 5.2.0 Reference Guide 2015 by Stonebranch, Inc. All Rights Reserved. 1. Universal Event Monitor for SOA 5.2.0 Reference Guide.............................................................
HP Service Manager. Software Version: 9.40 For the supported Windows and Linux operating systems. Application Setup help topics for printing
HP Service Manager Software Version: 9.40 For the supported Windows and Linux operating systems Application Setup help topics for printing Document Release Date: December 2014 Software Release Date: December
Sage 200 Web Time & Expenses Guide
Sage 200 Web Time & Expenses Guide Sage (UK) Limited Copyright Statement Sage (UK) Limited, 2006. All rights reserved If this documentation includes advice or information relating to any matter other than
Chapter 5 - Ethernet Setup
Chapter 5 - Ethernet Setup Chapter Overview Introduction... 5-3 EtherTalk Network Configuration... 5-3 Select the EtherTalk Phase 2 Driver...5-3 Change the EtherTalk Zone Name...5-4 Novell NetWare Configuration...
McAfee Network Threat Response (NTR) 4.0
McAfee Network Threat Response (NTR) 4.0 Configuring Automated Reporting and Alerting Automated reporting is supported with introduction of NTR 4.0 and designed to send automated reports via existing SMTP
Secure Web Gateway Version 11.7 High Availability
Secure Web Gateway Version 11.7 High Availability Legal Notice Copyright 2015 Trustwave Holdings, Inc. All rights reserved. This document is protected by copyright and any distribution, reproduction, copying,
English ETERNUS CS800 S3. Backup Exec OST Guide
English ETERNUS CS800 S3 Backup Exec OST Guide Edition April 2012 Comments Suggestions Corrections The User Documentation Department would like to know your opinion on this manual. Your feedback helps
Technical Data Sheet: imc SEARCH 3.1. Topology
: imc SEARCH 3.1 Database application for structured storage and administration of measurement data: Measurement data (measurement values, measurement series, combined data from multiple measurement channels)
Forms Printer User Guide
Forms Printer User Guide Version 10.51 for Dynamics GP 10 Forms Printer Build Version: 10.51.102 System Requirements Microsoft Dynamics GP 10 SP2 or greater Microsoft SQL Server 2005 or Higher Reporting
Virtual CD v10. Network Management Server Manual. H+H Software GmbH
Virtual CD v10 Network Management Server Manual H+H Software GmbH Table of Contents Table of Contents Introduction 1 Legal Notices... 2 What Virtual CD NMS can do for you... 3 New Features in Virtual
ElectricCommander. Technical Notes MS Visual Studio Add-in Integration version 1.5.0. version 3.5 or higher. October 2010
ElectricCommander version 3.5 or higher Technical Notes MS Visual Studio Add-in Integration version 1.5.0 October 2010 This document contains information about the ElectricCommander integration with the
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
Integration Client Guide
Integration Client Guide 2015 Bomgar Corporation. All rights reserved worldwide. BOMGAR and the BOMGAR logo are trademarks of Bomgar Corporation; other trademarks shown are the property of their respective
The Helios Microsoft Windows Server
The Helios Microsoft Windows Server COPYRIGHT This document Copyright 1992 Distributed Software Limited. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced,
StreamServe Persuasion SP5 Document Broker Plus
StreamServe Persuasion SP5 Document Broker Plus User Guide Rev A StreamServe Persuasion SP5 Document Broker Plus User Guide Rev A 2001-2010 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent #7,127,520
JobScheduler. Architecture and Mode of Operation. Software for Open Source
JobScheduler Architecture and Mode of Operation JobScheduler worldwide Software- und Organisations-Service GmbH www.sos-berlin.com Contents Components Supported Platforms & Databases Architecture Job Configuration
Lab 5.5 Configuring Logging
Lab 5.5 Configuring Logging Learning Objectives Configure a router to log to a Syslog server Use Kiwi Syslog Daemon as a Syslog server Configure local buffering on a router Topology Diagram Scenario In
UX Mail Fax Features. Empowered by Innovation. P/N 0913251 Rev 1, September 15, 2008 Printed in U.S.A. V4.21
Empowered by Innovation UX Mail Fax Features P/N 0913251 Rev 1, September 15, 2008 Printed in U.S.A. V4.21 For additional resources, visit UX5000 on the web at http://www.necux5000.com. This manual has
Portals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015. Integration Guide IBM
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015 Integration Guide IBM Note Before using this information and the product it supports, read the information in Notices on page 93.
Product Training Services. Training Options and Procedures for JobScheduler and YADE
Product Services Product Services Options and Procedures for JobScheduler and YADE 2 Contents Product Services JobScheduler Levels Level: JobScheduler Operations Level: JobScheduler Installation Level:
Handle Tool. User Manual
User Manual Corporation for National Research Initiatives Version 2 November 2015 Table of Contents 1. Start the Handle Tool... 3 2. Default Window... 3 3. Console... 5 4. Authentication... 6 5. Lookup...
Unity Error Message: Your voicemail box is almost full
Unity Error Message: Your voicemail box is almost full Document ID: 111781 Contents Introduction Prerequisites Requirements Components Used Conventions Problem Solution Delete Voice Mail Messages from
ResPAK Internet Module
ResPAK Internet Module This document provides an overview of the ResPAK Internet Module which consists of the RNI Web Services application and the optional ASP.NET Reservations web site. The RNI Application
agileworkflow Manual 1. agileworkflow 2. The repository 1 of 29 Contents Definition
agileworkflow Manual Contents 1. Intro 2. Repository 3. Diagrams 4. Agents 4.1. Dispatcher Service 4.2. Event Service 4.3. Execution Service 5. Variables 6. Instances 7. Events 7.1. External 7.2. File
User Application: Design Guide
www.novell.com/documentation User Application: Design Guide Designer for Identity Manager Roles Based Provisioning Tools 4.0.2 June 15, 2012 Legal Notices Novell, Inc. makes no representations or warranties
Data Integration through XML/XSLT. Presenter: Xin Gu
Data Integration through XML/XSLT Presenter: Xin Gu q7.jar op.xsl goalmodel.q7 goalmodel.xml q7.xsl help, hurt GUI +, -, ++, -- goalmodel.op.xml merge.xsl goalmodel.input.xml profile.xml Goal model configurator
SysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
Empowered by Innovation. Setting Up and Using Fax Mail. P/N 1770087 July 2006 Printed in U.S.A.
Empowered by Innovation Setting Up and Using Fax Mail P/N 1770087 July 2006 Printed in U.S.A. This manual has been developed by NEC Unified Solutions, Inc. It is intended for the use of its customers and
Installation and Configuration Guide
www.novell.com/documentation Installation and Configuration Guide GroupWise Coexistence Solution for Exchange November 2015 Legal Notices Novell, Inc., makes no representations or warranties with respect
Enterprise Vault Whitepaper Move Archive Feature Overview
Enterprise Vault Whitepaper Move Archive Feature Overview This document provides an overview of the Enterprise Vault Move Archive feature This document applies to the following version(s) of :
McAfee Cloud Identity Manager
Salesforce Cloud Connector Guide McAfee Cloud Identity Manager version 1.1 or later COPYRIGHT Copyright 2013 McAfee, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted,
Exam Name: Contact Center RIS.6.0 Application Developer Exam Type: Nortel Exam Code: 920-167 Doc Type: Q & A with Explanations Total Questions: 60
Question: 1 Company.com has Contact Center Manager Server Rls. 6.0. As standard practice when structuring the Master Script for Transfer, which action should be applied? A. Do NOT use separate section
LPR for Windows 95 TCP/IP Printing User s Guide
LPR for Windows 95 TCP/IP Printing User s Guide First Edition Printed in Taiwan, R.O.C. RECYCLABLE Copyright Statement Trademarks Limited Warranty Copyright 1997 D-Link Corporation No part of this publication
Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11. MDM Workbench Development Tutorial
Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11 MDM Workbench Development Tutorial John Beaven/UK/IBM 2013 Page 1 Contents Overview Machine Requirements
UPS SNMP Watch User manual
Version: 2010-12-15 UPS SNMP Watch User manual Copyright Statement for Intellectual Property and Confidential Information The information contained in this manual is non-conditional and may be changed
Administrator s Guide
Attachment Save for Exchange Administrator s Guide document version 1.8 MAPILab, December 2015 Table of contents Intro... 3 1. Product Overview... 4 2. Product Architecture and Basic Concepts... 4 3. System
Parallels Containers for Windows 6.0
Parallels Containers for Windows 6.0 Upgrade Guide June 11, 2014 Copyright 1999-2014 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200 Schaffhausen
Novell ZENworks Asset Management 7.5
Novell ZENworks Asset Management 7.5 w w w. n o v e l l. c o m October 2006 INSTALLATION GUIDE Table Of Contents 1. Installation Overview... 1 If you are upgrading... 1 Installation Choices... 1 ZENworks
CA XCOM Data Transport for Windows Server/Professional
CA XCOM Data Transport for Windows Server/Professional Installation Guide Release 11.6 Second Edition This Documentation, which includes embedded help systems and electronically distributed materials,
LumInsight CMS Installation Guide
LumInsight CMS Installation Guide This guide walks you through the installation steps to run your LumInsight CMS software. 078-1059-01C Echelon, LumInsight, and the Echelon logo are trademarks of Echelon
Configuring and Monitoring FTP Servers
Configuring and Monitoring FTP Servers eg Enterprise v5.6 Restricted Rights Legend The information contained in this document is confidential and subject to change without notice. No part of this document
Installation Manager Administrator s Guide
Installation Manager Administrator s Guide Citrix XenApp 5.0 for Microsoft Windows Server 2008 Copyright and Trademark Notice Use of the product documented in this guide is subject to your prior acceptance
HP Asset Manager. Software version: 5.20. Integration with software distribution and configuration management tools
HP Asset Manager Software version: 5.20 Integration with software distribution and configuration management tools Document Release Date: 01 October 2009 Software Release Date: October 2009 Legal Notices
Administrator s Guide
MAPILab Disclaimers for Exchange Administrator s Guide document version 1.8 MAPILab, December 2015 Table of contents Intro... 3 1. Product Overview... 4 2. Product Architecture and Basic Concepts... 4
PUBLIC Model Manager User Guide
SAP Predictive Analytics 2.4 2015-11-23 PUBLIC Content 1 Introduction....4 2 Concepts....5 2.1 Roles....5 2.2 Rights....6 2.3 Schedules....7 2.4 Tasks.... 7 3....8 3.1 My Model Manager....8 Overview....
Script-controlled Backups in SAP HANA Database
Script-controlled Backups in SAP HANA Database Documentation of a template shell script for controlling backup execution Richard Bremer, SAP Customer Solution Adoption (CSA) Data Backups in SAP HANA Database
Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP
Microsoft Dynamics Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP May 2010 Find updates to this documentation at the following location. http://go.microsoft.com/fwlink/?linkid=162558&clcid=0x409
CA ARCserve Replication and High Availability for Windows
CA ARCserve Replication and High Availability for Windows Microsoft SQL Server Operation Guide r15 This documentation and any related computer software help programs (hereinafter referred to as the "Documentation")
KeyControl Installation on Amazon Web Services
KeyControl Installation on Amazon Web Services Contents Introduction Deploying an initial KeyControl Server Deploying an Elastic Load Balancer (ELB) Adding a KeyControl node to a cluster in the same availability
Sophos Enterprise Console Auditing user guide. Product version: 5.2
Sophos Enterprise Console Auditing user guide Product version: 5.2 Document date: January 2013 Contents 1 About this guide...3 2 About Sophos Auditing...4 3 Key steps in using Sophos Auditing...5 4 Ensure
s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]
s@lm@n Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ] Oracle 1z0-102 : Practice Test Question No : 1 Which two statements are true about java
Symantec NetBackup Vault Operator's Guide
Symantec NetBackup Vault Operator's Guide UNIX, Windows, and Linux Release 7.5 Symantec NetBackup Vault Operator's Guide The software described in this book is furnished under a license agreement and may
