...
We need to be able to define a repeat job that does not go beyond a specific date i.e. does not repeat forever
...
First of all, you need to work with schedules. Schedules are run_times
that have a name and can be referenced from jobs or orders.
Create a NeverRun schedule which has a single start in the past, so it will never run:
Code Block
...
<?xml version="1.0" encoding="ISO-8859-1"?> <schedule name="NeverRun"> <date date="1978-11-17"> <period single_start="01:00"/> </date> </schedule>
(Note that you can also find this code in the
NeverRun.schedule.xml
file in our download.)Assign this schedule to your job or order: edit the runtime parameter and remove everything until you just have
<run_time schedule="NeverRun"/>
.
E.g.:Code Block
...
<?xml version="1.0" encoding="ISO-8859-1"?> <job> <params/> <script language="shell"> <![CDATA[ echo halloo welt! ]]> </script> <run_time schedule="NeverRun"/> </job>
Now the trick is that you can replace schedules with other schedules for a certain period. This means you can create a repeat schedule which will replace the NeverRun schedule until 01/01/2013:
Code Block
...
<?xml version="1.0" encoding="ISO-8859-1"?> <schedule substitute="NeverRun" valid_to="2013-01-01 00:00"> <weekdays> <day day="1 4 5"> <period repeat="00:05" begin="06:00" end="06:30"/> </day> </weekdays> </schedule>
(You can also find this code in our download, this time in the
Repeat.schedule.xml
file.)