Experten Intervall (Schreibweise) – English only

Scheduler expression

Scheduler expressions define the values to match for any given position (months, days, hours, minutes). An expression may contain atomic data types to express singular values or patterns to express more complex groups of atomic values for the position.
The scheduler is executed when the expressions for all patterns match the current time.

Data types

  • Every* – Special character indicating action should be executed for every value of this position
  • NumberNN>0,1<24,32,60; b>a (range depending on position) – explicitly defined value
  • Day of weekDD={MON,TUE,WED,THU,FRI,SAT,SUN} – Day of week, evaluated only for days position and matching to day of month for date but might be different days for different months

Scheduler patterns

Pattern category

  • Standard: Available for any position
  • Days: Available only for days position in order to handle variable number of days in a month and to support day of week in pattern description
  • Months: Available only for months position in order to allow for intervals on a month position too

Pattern types

Generic Pattern (standard): P – Any of the patterns listed below, list hierarchy describes how patterns can be nested and which priorities the nesting has. Interval patterns cannot be used in nested pattern even if P is used in syntax

  • Interval (days & months): <IP> = /<N> – „Real“ interval that doesn’t reset when the next higher position adds one
  • List (standard): <LP> = <P|N|D>,<P|N|D>[,<(P|N|D)...>] – Executed if any of the list items match, may contain a variable number of items
  • Step (standard): <SP> = <RP|N>/<N><RP> only <N>-<N> – Match every N-th element starting at the first value or within the given range (start at range start and end at range end or closest matching value lower than range end)
  • N-th first day of week (days): <NFDP> = <RP|D>#<N><RP> only <D>-<D> – N-th first day(s) of week for the given month
  • N-th last day of month (days): <NLNP> = <RP|N>L<RP> only <N>-<N> – N-th last day(s) of month
  • N-th last day of week (days): <NLDP> = <RP|D>L<N><RP> only <D>-<D> – N-th last day(s) of week for the given month
  • Range (standard): <RP> = <N|D>-<N|D> – Usually matches all values within the defined range from first to second value
  • Atomic (standard): <N|D> – Single number or day of week

Pattern orders

  • Any*
  • Interval/<N> – detected with starting /
  • List<P|N|D>,<P|N|D>[,<(P|N|D)...>] – detected by containing , (one or more)
  • Step<RP|N>/<N> – detected by containing /
  • N-th first day of week (days only): <RP|D>#<N> – detected by containing #
  • N-th last day of month (days only): <RP|N>L – detected by ending L
  • N-th last day of week (days only): <RP|D>L<N> – detected by containing L
  • Range<N|D>-<N|D> – detected by containing -
  • Day of week<D> – detected by matching enum code
  • Number<N> – detected by checking for positive integer value within allowed range

Examples

  • Every two months on the first tuesday at 10am:
    • months/2
    • daysTUE#1
    • hours10
  • Daily at 10am:
    • months*
    • days*
    • hours10
  • Every 10 days at 10am:
    • months*
    • days/10
    • hours10
  • Every 30 hours:
    • months*
    • days*
    • hours/30
  • Every Monday at 4pm:
    • months*
    • daysMON
    • hours16
  • Every Monday and Wednesday at 6pm:
    • months*
    • daysMON,FRI
    • hours18
  • Every weekday at 12pm:
    • months*
    • daysMON-FRI
    • hours12
  • Every month on the first at 8pm:
    • months*
    • days1
    • hours20
  • Every month on the first and 15th at 8pm:
    • months*
    • days1,15
    • hours20
  • Every month on the fifth through 20th at 8am:
    • months*
    • days5-20
    • hours8
  • Every first Wednesday of the month at 8am:
    • months*
    • daysWED#1
    • hours8
  • Every third Monday of the month at 8am:
    • months*
    • daysMON#3
    • hours8
  • Every last Friday of the month at 8am:
    • months*
    • daysFRIL1
    • hours8
  • Every last day of the month at 8am:
    • months*
    • days1L
    • hours8
  • Every second last day of the month at 8am:
    • months*
    • days2L
    • hours8
  • Yearly on the first of January at 10am and 8pm:
    • months1
    • days1
    • hours10,20
  • Yearly on the first Tuesday at 2pm:
    • months*
    • daysTUE#1
    • hours14
  • Every third and 17th of the first six months at 2pm:
    • months1-6
    • days3,17
    • hours14