1 cron.getNextExecutions

This tag is useful to print in a calendar the execucions plan of programmed system tasks.

Returns a list with de dates of the following executions for a provided expression used to define the scheduler.

The number of dates that will be calculated it is defined by count attribute (by default 30).

<cron.getNextExecutions
    expression='expression'
    count='count'
/>
Example
Cron expressions
Expression Scheduler
0 0/5 * * * ? An expression to create a trigger that simply fires every 5 minutes.
0 30 10-13 ? * WED,FRI An expression to create a trigger that fires at 10:30, 11:30, 12:30, and 13:30, on every Wednesday and Friday.
0 0/30 8-9 5,20 * ? An expression to create a trigger that fires every half hour between the hours of 8 am and 10 am on the 5th and 20th of every month. Note that the trigger will NOT fire at 10:00 am, just at 8:00, 8:30, 9:00 and 9:30.

Note that some scheduling requirements are too complicated to express with a single trigger - such as “every 5 minutes between 9:00 am and 10:00 am, and every 20 minutes between 1:00 pm and 10:00 pm”. The solution in this scenario is to simply create two triggers, and register both of them to run the same job.

Example

The expression generates a scheduler starting on the first day of december at 12 hour and runs every 15 minutes. The count number it is not define so the result shows the first 30 calculated dates.

Copy
<xsql-script>
    <body>
        <iterator name='next'>
            <in>
                <cron.getNextExecutions expression='5 /15 * * 12 ?' />
            </in>
            <do>
                <println><date.format format='dd-MM-yyyy hh:mm:ss'><next /></date.format></println>
            </do>
        </iterator>
    </body>
</xsql-script>
01-12-2018 12:00:05
01-12-2018 12:15:05
01-12-2018 12:30:05
01-12-2018 12:45:05
01-12-2018 01:00:05
01-12-2018 01:15:05
01-12-2018 01:30:05
01-12-2018 01:45:05
01-12-2018 02:00:05
01-12-2018 02:15:05
01-12-2018 02:30:05
01-12-2018 02:45:05
01-12-2018 03:00:05
01-12-2018 03:15:05
01-12-2018 03:30:05
01-12-2018 03:45:05
01-12-2018 04:00:05
01-12-2018 04:15:05
01-12-2018 04:30:05
01-12-2018 04:45:05
01-12-2018 05:00:05
01-12-2018 05:15:05
01-12-2018 05:30:05
01-12-2018 05:45:05
01-12-2018 06:00:05
01-12-2018 06:15:05
01-12-2018 06:30:05
01-12-2018 06:45:05
01-12-2018 07:00:05
01-12-2018 07:15:05
Example

The expression generates a scheduler that returns a plan to execute it every day (from now) on 10:15:05 time.

Copy
<xsql-script>
    <body>
        <iterator name='next'>
            <in>
                <cron.getNextExecutions expression='5 15 10 * * ?' count='10'/>
            </in>
            <do>
                <println><date.format format='dd-MM-yyyy hh:mm:ss'><next /></date.format></println>
            </do>
        </iterator>
    </body>
</xsql-script>
[The sample is executed on 27-06-2018 16:14:34]
28-06-2018 10:15:05
29-06-2018 10:15:05
30-06-2018 10:15:05
01-07-2018 10:15:05
02-07-2018 10:15:05
03-07-2018 10:15:05
04-07-2018 10:15:05
05-07-2018 10:15:05
06-07-2018 10:15:05
07-07-2018 10:15:05