Introduction

  • Jobs in a workflow can be limited to start execution only in specific periods.
    • A job can be configured to start for example not earlier than 10pm. If an order arrives earlier then the order has to wait until 10pm.
    • In addition, a period can be specified to define a timeslot, for example from 10pm to 11pm, during which the job can be started. Note that the timeslot limits the start time of the job, a job that is started before end of the period can continue to run even if the period is exceeded. Users who want to limit the execution time of a job should use the Timeout attribute, see JS7 - Job Instruction.
  • Such limits are considered Admission Times ("opening hours") and can be adjusted according to the day of week, the day of month or for specific dates. For example, a job can be configured for an earliest start time for Monday at 10pm and for Saturday at 2pm.
  • Multiple periods for weekday, month day and date can be configured.
  • A period can exceed midnight of the current day, it can be configured to span a number of days. The maximum period is one week.

Orders meeting Admission Times

The following behavior applies when an order arrives with a job node in a workflow:

  • If an Admission Time has been configured for the date on which the order is scheduled and:
    • the order arrives before the beginning of the Admission Time, then the order will wait until the Admission Time is reached.
    • the order arrives during the Admission Time then the order will immediately start the relevant job.
    • the order arrives after the end of the Admission Time then the order will wait for the next Admission Time, for example a later Admission Time on the same day or on a later day.
  • If an Admission Time has been configured but does not include the day of week, day of month or date for which the order has been scheduled then:
    • the order by default will wait for the next Admission Time.
    • the order will skip the job and will continue with the next instruction in the workflow if Admission Times are configured accordingly.
  • If no Admission Time has been configured then:
    • the job will be executed at any point in time depending on the arrival time of the order at the job node in the workflow.
  • If an Admission Time is configured that overlaps on to the next day then this will apply only to orders that have been scheduled for the day on which the Admission Time period starts. Orders arriving at a later day to which an Admission Time of the previous day overlaps are not subject to this configuration. Instead, orders consider the configuration of Admission Times for the date for which they are scheduled.
  • Orders arriving at a later day than an Admission Time of the previous day but which are overlapped by the Admission Time are not subject to this configuration. Instead, these orders are executed according to the configuration of Admission Times for the date for which they are scheduled.
  • FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.0

Examples:

  • An order with ID #2021-09-08#P0000003730-forklist is scheduled for 8th of September 2021 - which is a Thursday.
    • If the job is configured to use an Admission Time on Thursday and Friday from 10pm to 11pm then 
      • if the order arrives before 10pm it will wait until 10pm to start job execution.
      • if the order arrives at 10.30pm it will immediately start job execution.
      • if the order arrives at 11.30pm it will wait until Friday 10pm to start job execution.
    • If no Admission Times are configured then the job will execute immediately on arrival of an order.
  • An order with ID #2021-09-07#P0000003730-forklist is scheduled for 7th of September 2021 - which is a Wednesday.
    • If the job is configured to use an Admission Time on Thursday and Friday but not on Wednesday then
      • the order by default will wait for the next Admission Time on Thursday.
      • the order will skip the current job and continue with the next workflow instruction if Admission Time settings specify the Skip job if no admission for Order's date option.

Job Configuration

Configuring Admission Times

Admission Times can be configured from the Job Property Editor in a workflow. The tab Job Options displays a link Show Periods for Admission Times.

  • Note that for the input of timeslots, the time is assumed to be related to the time zone specified for the Workflow.
  • If the Job should be skipped when Admission Times do not include the day of week, day of month or date for which the order has been scheduled then the Check Box Skip Job if no admission for Order's date needs to be checked.


When clicking the Show Periods link from the above screen then the Job Property Editor displays options for Admission Times.

Weekdays

Admission Times can be indicated by weekdays specifying Monday to Sunday like this:


Explanations:

  • Users can select days of week for which the job should be executed.
    • For any weekdays not specified by an Admission Time the job will be skipped.
  • The start time and duration make up the period of the Admission Time
    • Users can select weekdays, add the start time and duration just once and hit the Add button to apply the same start time and duration to the selected weekdays.
    • Periods can be modified individually.
    • Per weekday multiple periods can be specified.

Specific Weekdays

In addition to weekdays an option is offered for specific weekdays:


Explanations:

  • Specific weekdays are indicated by the occurrence of the weekday in month and the weekday.
    • Examples for counting forwards: first Monday, second Thursday, fourth Friday
    • Examples for counting backwards: third last Friday, second last Thursday

Month Days

Admission Times can be indicated by month days specifying relative dates counting from the begin or end of month like this:


Explanations:

  • Users can select one or more month days, add a period & duration and use the Update button to apply Admission Times.
    • For months that use less than 31 days, selecting the 31st, 30th, 29th day is translated to the last day of month.
  • Similarly users can select counting from the last day of month to the last day - 27 days of month.

Dates

Admission Times can be indicated by specific dates like this:


Explanations:

  • If no rule for weekdays, specific weekdays or month days applies then individual dates can be selected.
  • JOC-1386 - Getting issue details... STATUS

Configuring Admission Time Zone

Any date calculation for Admission Times is performed based on the Admission Time Zone specified with the workflow:


.

Use of Admission Times with Daylight Saving Changes

Begin and end of a period for Admission Times are calculated as a duration and it is assumed that "opening hours" for a job should consider this duration and not make use of fixed hours.

During Daylight Saving Change to summer time, for example if the clock is moved forward from 2am to 3am and a job is assigned an Admission Time from 1am to 4am, then "opening hours" will be prolonged until 5am in order to stick to the indicated duration of 3 hours. This implies that

  • an order arriving with the job node at 4.30am will start the job immediately due to prolonged "opening hours".
  • the next available time is used, i.e. if an order is scheduled for 2.30am then the job will start immediately, however, technically the start time will be 3am.
  • cyclic orders and cyclic workflows are executed for 3 hours between 1am and 5am, skipping the period 2am to 3am.

During Daylight Saving Change to winter time, for example if the clock is moved back from 3am to 2am and a job is assigned an Admission Time from 1am to 4am, then "opening hours" will be reduced until 3am. This implies that

  • an order arriving with the job node at 3.30am will not make the job start for this period as it arrives past the duration of 3 hours.
  • the earlier time is used, i.e. if an order is scheduled for 2.30am then the job will start once for the first occurrence of 2.30am on that day.
  • cyclic orders are executed during the first occurrence of the period 2am to 3am.
  • cyclic workflows are executed during both occurrences of the period 2am to 3am.

The behavior when calculating Admission Times during daylight saving changes from a duration is what many users want. However, if users are not happy with this behavior then please vote for the option to additionally specify fixed periods during Daylight Saving Change:

  • JS-1958 - Getting issue details... STATUS

Further Resources



  • No labels