Schedules in Jitterbit Design Studio
Within Jitterbit, operations can be executed a number of ways, such as manually, automatically via an API call, or automatically via a schedule. This page covers setting up a schedule to run your operation automatically.
Schedules contain information about when an operation will automatically be activated. Jitterbit lets you define virtually any type of schedule you need, such as every Friday at 5 pm, the last Friday of each quarter, or every hour for one day.
Create a schedule
You can choose to create a new schedule on its own, or within an existing operation. Schedules must be assigned to an operation in order to be applicable to that operation. For more information on creating operations, see Create an operation.
Tip
As of version 9.0, another place you can create and apply schedules is from within the Management Console. Schedule changes made via the Management Console take effect immediately without needing to redeploy the project to Harmony. For more information, refer to Projects.
Create new schedule
There are several ways to create a new schedule as a standalone project item within Design Studio:
- Go to File > New > New Schedule.
- In the tree on the left, right-click on Schedules and select New Schedule.
- In the top toolbar, click the schedule icon .
Note
If you create a schedule via one of the above methods, note that it is not associated with any operation. To use the schedule in an operation, follow Use existing schedule in an existing operation below.
Create new schedule in an existing operation
You can also create a new schedule as a project item that is already assigned to an operation in Design Studio. To do so:
- Within an operation, click on the down arrow or right-click on the operation background, then select Schedule > Select Schedule > Create New Schedule.
Use existing schedule in an existing operation
If you already have an operation and a schedule created, there are several ways to add an existing schedule to an existing operation within Design Studio:
- Within an operation, click on the down arrow or right-click on the operation background, then select Schedule > Select Schedule and choose the existing schedule.
- Within the operation, double-click on the operation title to open the Configure Operation window. Expand the Schedule section, use the Schedule dropdown to select the existing schedule.
- Drag the existing schedule from the tree on the left and drop it onto the background of the operation.
Caution
If you are using an existing schedule in multiple operations, take care when editing the schedule as changes to the schedule will affect all operations that use that schedule.
Edit schedule
After you have created a new schedule, the configuration screen will open in the main view of Design Studio. You can get back to the configuration screen at any time in one of the following ways:
- Double-click on the schedule in the tree on the left.
- Within the operation, click on the schedule icon and select Edit Schedule.
- Within the operation, click on the down arrow or right-click on the operation background, and select Schedule > Edit Schedule.
Basic configuration
The configuration screen should look similar to the example below. Each configurable option is explained as follows.
-
Name: Enter a name for your new schedule. You may want to give the schedule a name that is reflective of the schedule frequency or, if used for a specific operation, reflective of the purpose of the schedule (e.g. "Every 5 MInutes" or "Contact Sync").
-
Occurrence: Select one of three options for the days on which the schedule should kick off the operation(s) on which it is assigned:
-
Daily: The schedule will activate the operation every day, or every few days. When this option is selected, the following become available to configure:
- Every [#] Day(s): Enter a number of day(s) in between operation runs.
-
Weekly: The schedule will activate the operation during a specified set of days of the week. When this option is selected, the following become available to configure:
- Every [#] Week(s): Enter a number of week(s) in between operation runs.
- [Sun, Mon, Tue, Wed, Thu, Fri, Sat]: Check the boxes next to the day(s) of the week on which you want the operation to run.
-
Monthly: The schedule will activate the operation on a monthly basis. When this option is selected, choose one of two options that become available to configure:
- Day [#] of Every [#] Month(s): Enter the day of the month and number of month(s) in between operation runs.
- The [1st, 2nd, 3rd, 4th, or Last] [Day of Week] of Every [#] Month: Use the dropdowns to select which day of the month and enter the number of month(s) in between operation runs.
-
-
Daily Frequency: Select one of two options for the times at which the schedule should kick off the operation on the days that it runs:
-
Occurs once at [hh:mm] [AM/PM]: The schedule will activate the operation only once at the specified time. Use the dropdowns to select the hour(s), minute(s), and time of day at which you want the operation to run.
-
Occurs every [#] [Minute(s)/Hour(s)] Starting at [hh:mm] [AM/PM] and Ending at [hh:mm] [AM/PM]: The schedule will repeatedly reactivate the operation for the specified period of time throughout the day. Enter a number to correspond with the dropdown selection of minute(s) or hour(s) at which you want the operation to run, along with dropdown selections of any times throughout the day that you want to limit the operation to run within.
Note
Time zones are discussed below in Operation time zones.
-
-
Duration: Configure the dates of duration for the schedule.
Note
Start and end dates in a schedule are inclusive, meaning the schedule will be active during the remaining part of the day on both the start date and the end date.
- Starting at: By default, the schedule will be active starting on the current date. If you want to specify a different start date, click the calendar icon to open a calendar datepicker and select the desired date.
- Ending at: By default, the operation(s) on which the schedule is assigned will run indefinitely per the schedule. If you want specify an end date, click the calendar icon to open a calendar datepicker to select the desired date. The schedule will be active through the end of the end date.
Tip
After you have configured a schedule and assigned it to an operation, it is a recommended best practice to place an On Failure email message on the scheduled operation. See Create an email message for more information.
Operation time zones
When configuring a schedule, the Daily Frequency field does not display the time zone in which the operation will run. The time zone in which the operation will run depends on the agent running the operation, unless the Override Schedule Agent Time Zone setting is enabled in your organization's policies:
-
Agent Time Zone
- Cloud agents: All cloud agents are in UTC.
- Private agents: Private agent time zones are determined by the time zone of the operating system of the private agent. It is highly recommended for all agents in a private agent group to be running on the same time zone, or the times at which a configured schedule initiates the operation may be unpredictable depending on the specific agent being used.
When using agent version 10.85 / 11.23 or later, and the agent is using a time zone that observes daylight savings, these actions occur during a daylight saving time switch:
-
When a once-daily schedule is set between 2 - 3 AM, the scheduled operation will run at 3 AM on the second Sunday of March.
-
When a once-daily schedule is set between 1 - 2 AM, the scheduled operation will run on the second instance of 1 AM on the first Sunday of November.
A known issue exists for the above scenarios when using agent version 10.84 / 11.22 and earlier.
Tip
For schedule consistency, it is recommended to use a time zone that does not observe daylight saving time, such as UTC (cloud agents use UTC by default). If using a private agent, you can use the Override Schedule Agent Time Zone setting and select Etc/UTC.
-
Override Schedule Agent Time Zone
- If the Override Schedule Agent Time Zone setting is enabled in your organization's policies, the selected time zone will determine the time zone in which all current and future schedules across an organization will run.
Advanced configuration with scripting
If the options available in the user interface as described above in Basic configuration do not meet your business needs, you can perform further configuration of the schedule using scripting.
Note
If you have the Override Schedule Agent Time Zone setting enabled in your organization's policies, any scripts that use date and time functions as described here will not be overridden with your selected time zone.
As an example, a common use case may be to create a schedule to run the operation on the last day of the month. The following steps walk through this use case:
-
Create a new schedule and configure it to run every day at an appropriate time as described earlier on this page.
-
Create a new operation with a Jitterbit script project item as described in Create a script.
-
Assign the schedule to the script operation you just created.
-
Open the script and enter the following to check for the last day of the month and run an operation if true:
<trans> if(DayOfMonth(LastDayOfMonth(Now()))==DayOfMonth(Now()), RunOperation("<TAG>Operations/Some Operation to Run</TAG>") ); </trans>
-
The operations should look similar to the following once these steps are complete:
Set schedule policy
Any time a new schedule is created, it is set by default for any operation to be skipped in the event that a previously scheduled instance of the same operation is still running. This is the recommended best practice in most situations, but can be changed to allow an operation to start even if a previously scheduled instance is still running.
This should be done only if you have a special requirement to do so. If you do make this change, you should be sure that having concurrent operations will not be detrimental by potentially processing the same source data records multiple times.
This setting can be accessed from the operation in the following ways:
- Within the operation, click on the schedule icon and select Schedule Policy > Skip execution if previously scheduled operation is still running or Start even if previously scheduled operation is still running.
- Within the operation, click on the down arrow or right-click on the operation background, and select Schedule > Schedule Policy > Skip execution if previously scheduled operation is still running or Start even if previously scheduled operation is still running.
- Within the operation, double-click on the operation title to open the Configure Operation window. Expand the Schedule section, use the Schedule dropdown to select the appropriate schedule, and select either Skip execution if previously scheduled operation is still running or Start even if previously scheduled operation is still running.
If using private agents, additional evaluation should be made to ensure that aggressive schedules will not overload your agent group, causing an operation backlog.
Private agents default to being able to execute up to two times your CPU count per agent machine. So if your private agent machine has 4 CPU cores, you will be able to process up to 8 concurrent operations.
When evaluating your business requirements, some of your operations may be more time-dependent than others. If several non-critical operations were to backlog your agent queue, then your more critical operations could be affected. To avoid this, simply determine the number of operations your agent group can process concurrently, then balance that against the business priority and runtime duration of your scheduled operations.
Enable or disable schedule
Once you have assigned a schedule to an operation, you can choose to disable or re-enable it (if disabled) remotely via the Management Console from the Projects page.
Warning
Take care to remember if you disable your schedule, as this functionality is available only within the Management Console and it may not be obvious within Design Studio that the schedule has been remotely disabled.
On the Projects page, select a row within the Projects table to display additional tabs at the bottom of the page. You can enable or disable a schedule for a single operation, or for the entire project as follows:
-
Operations: Within the Operations tab, the Status column displays the status of any schedules assigned to the operation. Click the toggle button to toggle an existing schedule on or off, effectively enabling or disabling the schedule for that operation.
-
Schedules: Within the Schedules tab, the Scheduled column displays the status of any schedules assigned to operations within the project. Click the toggle button to toggle an existing schedule on or off, effectively enabling or disabling the schedule for the entire project.
Caution
Enabling or disabling a schedule that is used within multiple operations will affect every operation using the schedule.
Remove schedule
If you have a schedule that is assigned to an operation, you can remove it from the operation in the following ways. This will not delete the schedule as a project item, but will simply unassign it from the operation.
- Within the operation, click on the schedule icon and select Remove Schedule.
- Within the operation, click on the down arrow or right-click on the operation background, and select Schedule > Remove Schedule.
- Within the operation, double-click on the operation title to open the Configure Operation window. Expand the Schedule section, use the Schedule dropdown to select (none).
Troubleshoot schedule
If your schedule is not working as expected, check the following items to help troubleshoot the issue:
-
Have you deployed the operation the schedule is assigned to?
Schedules must be assigned to an operation for them to trigger. Once you have saved a schedule on an operation, it will not take effect until it has been deployed. -
Is your schedule enabled?
Schedules can be disabled and re-enabled only from within the Web Management Console. Check the Projects page within both the Operations and Schedules tabs to make sure your schedule is enabled. -
Do you know what time zone your schedule is in?
Time zones are discussed in Operation time zones. -
If you are using a private agent, is the scheduling service running?
On the machine where the private agent is installed, check that Jitterbit Scheduler and Jitterbit Scheduler Service are running. On Windows this can be checked through the Task Manager under Processes. On Linux and Docker, use thejitterbit status
command. -
If you are using a private agent, are aggressive schedules overloading your agent group?
If using private agents, additional evaluation should be made to ensure that aggressive schedules will not overload your agent group, causing an operation backlog.Private agents default to being able to execute up to two times your CPI count per agent machine. So if your private agent machine has 4 CPU cores, you will be able to process up to 8 concurrent operations.
When evaluating your business requirements, some of your operations may be more time-dependent than others. If several non-critical operations were to backlog your agent queue, then your more critical operations could be affected. To avoid this, simply determine the number of operations your agent group can process concurrently, then balance that against the business priority and runtime duration of your scheduled operations.