• Schedules determine the point in time when orders for workflow execution will start. They assign a workflow and optionally variables that are used by jobs in the given workflow.
    • Start dates are specified by JS7 - Calendars and limit the days for execution of workflows.
    • Start times are specified by Schedules that can further limit the days for workflow execution.
  • Schedules create orders on a daily basis:
    • for one-time execution of workflows. This includes workflow starts at a number of specific points in time per day.
    • for cyclic execution of workflows. This specifies repeated execution of workflow based on configurable intervals.
  • Schedules are applied by the JS7 - Daily Plan to create orders for the resulting date and time.

Feature Video

This video explains the handling of Schedules:

Manage Schedules

Add Schedule

Schedules can be accessed from the Configuration->Inventory View in the relevant sub-folders.

  • The tree in the left panel offers an action menu to create a Schedule.
  • This action menu is available for any Schedules object folder.

When adding a Schedule a popup window asks for the object name:

As a result an empty Schedule object becomes available:

Assign Workflows

A Schedule is assigned one or more workflows which orders are created for:

Assign Variables

Workflows can declare variables, for details see JS7 - Order Variables.

  • The declaration includes specifying if a variable is mandatory or if it is optional and makes use of a default value.
  • The Schedule object view requires that mandatory variables are assigned a value. In addition, values for optional variables can be specified.

Add Run-time

The Schedule object view provides the Add Run-Time button to specify the start time of orders created by the Schedule:

  • A Schedule's run-time configuration includes the time zone for which start times are specified.
  • By default the time zone settings as specified for user accounts by JS7 - Profiles are applied.
  • A Schedule's time zone can differ from the time zone used by the Daily Plan and from time zones used by Controllers and Agents. The JOC Cockpit user interface converts dates and times to the time zone specified by the user account's profile..

Add Calendar

In a first step the Assign Working Day Calendar button is used to access and make an assignment from the list of available Calendars:

Add Period

In the next step after a Calendar has been assigned, the  icon in the Period column is used to specify the start time.

  • The Single Start repeat interval allows specification of the time when an order should start.
  • Users can add any number of periods with a Single Start interval to an order's run-time to cover specific points in time during the day.

A Repeat interval can be chosen as an alternative to the Single Start interval:

  • The Repeat interval requires the Repeat Time to be specified, for example to execute every 10 minutes.
  • The Begin and End of the repeat period have to be specified, for example from 8am to 8pm.
  • The Schedule will create individual order instances for each start during the period:
    • The order instances are hidden from the JOC Cockpit GUI and appear as a single cyclic order with the  icon appended to the Order ID.
    • Any operation to cancel, suspend, resume or modify a cyclic order is applied to all order instances.

Users can specify the behavior if a scheduled date meets a non-working day.

The following options are offered:

  • suppress execution (default): no order will be added to the non-working day.
  • ignore non-working day: add an order for the non-working day.
  • before non-working day: anticipate execution to the closest working day before the non-working day.
  • after non-working day: postpone execution to the next working day.

Add Restriction

Schedules allow the addition of Restrictions that further limit the days for which orders are created:

  • Restrictions correspond to the Frequencies available for Calendars.
    • They allow further limitation of the days for which orders are created.
    • Restrictions are not applied for days that are not in scope of the underlying Calendar.
  • For details how to add Restrictions/Frequencies see JS7 - Management of Calendars.

Release Schedule

Schedules are not deployed to a Controller and Agent. Instead, they are used by the JS7 - Daily Plan Service to create orders for workflow execution the days specified.

Schedules know a draft status and a released status:

  • A draft status is indicated by the icon and from the  orange bullet.
    • The draft status is in place after a Schedule has been added or modified but has not yet been released.
      • In addition a draft Schedule can be invalid as indicated by the  icon. This can be due to missing input or invalid data added to the Schedule by the user.
      • Invalid Schedules are automatically stored in the same ways as valid Schedules. However, they cannot be released until they have been validated.
      • Validation is performed with a JSON Schema, see JS7 - Inventory Storage Format.
    • Draft Schedules are ignored by the Daily Plan when creating orders for workflow execution.
  • A released status is indicated by the  icon and by the  blue bullet.
    • Only valid Schedules can be released.
    • Released Schedules are applied by the Daily Plan to create orders for workflow execution.
    • In addition, released Schedules are considered when manually creating the Daily Plan from the relevant view.

Use with the Daily Plan

A Schedule can apply the following settings to specify use with the Daily Plan:

  • Plan Order automatically: this setting activates the Schedule for use with the JS7 - Daily Plan Service. As a result orders are automatically added with a PLANNED state.
  • Submit Order to Controller when planned: this setting allows automatic submission of planned orders to Controllers:
    • when the daily plan is created from the JS7 - Daily Plan view and
    • when used by the Daily Plan Service.
    • As a result such orders are assigned the submitted state in the Daily Plan view and in the JS7 - Daily Plan History.

Use with the Daily Plan View

  • The view allows the manual creation of the daily plan for a given date. 
  • This function includes selection of specific Schedules, Schedules by folder or all Schedules to generate orders.
  • Only released Schedules are applied to the Daily Plan.

Use with the Daily Plan Service

  • The Daily Plan Service makes use of any released Schedules that hold the settings:
    • that orders are to be planned automatically or
    • orders are to be submitted to a Controller when planned.
  • The Daily Plan Service plans and submits orders for the number of days ahead that is specified with the Daily Plan Service configuration.

Cyclic Orders vs. Cyclic Workflows

As an alternative to cyclic orders created by Schedules using repeat intervals, the JS7 - Cycle Instruction is available for cyclic workflows.

  • Execution
    • A Cycle Instruction spawning a complete workflow is equivalent to the use of cyclic orders from a Schedule.
    • In addition, a Cycle Instruction can be used to execute parts of a workflow in cycles.
  • Efficiency
    • Schedules create a number of order instances for each period in a cycle, Running a single workflow every 30s adds up to 2880 orders per day.
    • Cycle Instructions cause cyclic execution of a workflow from a single order.
    • Processing of cyclic workflows is by far more efficient than the processing of cyclic orders.
  • Error Handling
    • Failure
      • If a job in a workflow fails then this will occur for each order instance of a cyclic order individually.
      • If a job within a Cycle Instruction fails then, depending on the error handling in place, any cycles that would occur while an order is in a failed state are skipped..
    • Notification
      • For each failing order instance of a cyclic order a JS7 - Notification is created.
      • For the single order of a cyclic workflow a single Notification is created.
    •  Intervention
      • Any operations on cyclic orders are applied to all order instances included, for example, resuming execution after failure. This results in parallel execution of orders previously scheduled for execution in intervals.
      • For cyclic workflows there is a single order that waits for user intervention.
  • Logging
    • For each order instance of a cyclic order: a separate entry is created in the JS7 - Order History and in the JS7 - Task History.
    • For a cyclic workflow: there is a single entry in the Order History that is appended the log output of each cycle. Individual entries per job execution are added to the Task History.

  • No labels