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

This example shows a simple method to control job starts using time and file-based events. The logic behind this example is of a time event AND a file event.

...

Code Block
languagehtml/xml

 <run_time  let_run="no">
     <period  single_start="12:30"/>
 </run_time>

...

Code Block
languagehtml/xml

 <params >
     <param  name="file" value="c:\temp\ProcessFileTest.dat"/>
 </params>

...

If the file is not present then this job will be restarted every minute up to a maximum of 30 times. If no file is found the order will end in error. If a file is found, JobScheduler will continue to process the job chain.
<!--In the example the this means:

...

.

...

...

The XML for ExistsFile job is:

Code Block
languagehtml/xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<job  title="Check and Wait for a file or files" order="yes" stop_on_error="no" name="ExistsFile">
    <settings >
        <log_level ><![CDATA[debug9]]></log_level>
    </settings>

    <description >
        <include  file="jobs/JobSchedulerExistsFile.xml"/>
    </description>

    <params />

    <script  language="java" java_class="sos.scheduler.file.JobSchedulerExistsFile"/>

    <delay_order_after_setback  setback_count="10" is_maximum="no" delay="00:01:01"/>
    <delay_order_after_setback  setback_count="30" is_maximum="yes" delay="0"/>

    <run_time />
</job>

...

As the ExistsFile job can also start job chains, this could be carried out in two steps - which is would perhaps be better for testing:

  • First of all a job chain, which only consists of the ExistsFile job and then
  • a second job chain, which is started by the ExistsFile job, as soon as a file (or all files) are found. An order can then be started for each file: these orders then being carried out in parallel if required.