The Operations screen is available within an app's Development and Production environment accessible via the clock icon (). The operations screens provide details about job processing, ad-hoc and recurring, and the ability to modify job settings.
This article details each section of the options available on this screen:
- Navigating to the Configure tab
- Information found in the grid
- Setting the schedule
- Understanding the Dependency Status section
Navigating to the Configure tab
Within the Operations screen, clicking on an individual job card will display details of that job. The details of the Configure tab include job attributes, job steps, settings of the job steps, schedule of the job (available in production only), and dependency status (available in production only when using trigger scheduling option).
Information found in the grid
The initial information of the Configure tab includes job attributes and the configured job steps. The job attributes include Name, Description, and Tag. The job step grid shows one row for each step/process that was included in the creation of the job. The grid includes the following information:
Process Name - The Process Name field is the process name that was included in the specified job when created from the workflow canvas. The list of processes of a job may be a single process, multiple processes, or all processes of the app as seen and selected in the workflow canvas when creating the job.
Runtime Type - The Runtime Type field displays the type of the runtime that this step was run on. This is uneditable as it is an attribute of the selected runtime.
Runtime - The Runtime field displays the individual runtime that this step was run on. This can be edited here and will affect future executions of the job.
Process Mode - The Process Mode setting provides the job step with instructions on how to handle the processing of incoming data, such as dropping any data or only processing new data. This can be edited here and will affect future executions of the job.
Delete Process - The trash can icon can () will remove a process/job step from the job.
Setting the schedule
The Schedule section (only found in the production environment of an app) found in the Configure tab enables the ability to schedule the job for recurring execution. There are multiple options to set up the schedule for jobs:
The options within the Relative Range section of Schedule define the date range the job is to operate. The fields are as follows:
- Number of Days - Integer value defining the total number of days the job is to process. This value needs to be set in conjunction with Process Mode of the job steps and balanced between factors of cost, i.e. amount of time to execute the job, and completeness, i.e. ensuring all needed data is captured.
- Ending On - Three options defining the end date of the date range the job is to process.
- Yesterday - Date range is to end yesterday as per the system date, typically in UTC, at the time of job execution.
- Current Date - Date range is to end today as per the system date, typically in UTC, at the time of job execution.
- Last Available Date - Date range is to end on the last, i.e. most recent, date available in the data that is to be processed.
- Offset Dates (Move end date by) - When Offset Dates toggle is turned on the field "Move end date by" is available to define the number of days the Ending On is shifted.
There are several options to schedule a job on a time/calendar-based recurrence to ensure the job will run on a regular basis:
Crontab - The Crontab option accepts a Quartz cron expression to define a recurring schedule that may be more nuanced than a basic recurring schedule, e.g. first Monday of every month.
Hourly - The Hourly option allows a job to run every hour. It accepts an integer between 0 and 59 to define the minute of the hour the job is to run.
Daily - The Daily option allows a job to run once a day. It accepts integers for the fields Hour, between 1 and 12, and the field Minute, between 0 and 59, and a selection for AM or PM.
Weekly - The Weekly option allows a job to run once a week. It accepts integers for the fields Hour, between 1 and 12, and the field Minute, between 0 and 59; a selection for AM or PM; and a selection for the day of the week.
Monthly - The Monthly option allows a job to run once a month. It accepts integers for the fields Hour, between 1 and 12, and the field Minute, between 0 and 59; a selection for AM or PM; and an integer, between 1 and 31, for the day of the month.
As of Syntasa version 5.0 there is the option to schedule a job based on the completion of one or more events instead of static execution date and time. This feature, pipeline orchestration, provides the ability to coordinate and chain job executions between multiple pipelines.
To utilize the trigger functionality one or more events are to be selected. The current job will then execute upon the completion of the event(s) configured. There are three event types available:
Job - Selecting the event type value Job allows the user to select an existing app and a specific job within the selected app.
Process - Selecting the event type value Process allows the user to select an existing app, a specific job within the selected app, and a specific process within the selected job. This allows finer tuned controls and allows the current job to be executed when a specific step of the dependent job completes instead of waiting for all steps of the dependent job.
When using this event type it is also possible to set the job value to Any so that the current job will execute when any job within the selected app completes the specific process.
Time - Selecting the event type value Time allows the user to specify a Quartz cron expression exactly as when using the Crontab based schedule, but in this context is intended to be used in conjunction with another event.
For example, the current job can be configured to execute after another job completes, but only after a certain time. In this case, it is required to define the event type of value Job or Process, an event type of Time, along with the And option () to ensure both events are satisfied before the current job is executed.
Another example, the current job can be configured to execute after another job completes, but also run the current job by a certain time if the dependent job has failed to complete. In this case, it is required to define the event type of value Job or Process, an event type of Time, along with the Or option () to ensure either of the events are satisfied so that the current job can be executed.
Understanding the Dependency Status section
The Dependency Status section appears when a job is scheduled with the trigger option (scheduling only available in the production environment of an app). Since the trigger scheduling option is not based on date and time the "next run" is dependent on the events configured under the schedule section.
The Dependency Status section provides the status of the dependent event so that a user can evaluate when the current job will run and/or see why the current job has not run, i.e. what dependent event is outstanding.