Best Practices: Planning Scheduled Tasks

As a developer and object designer, you have several options to design recurrent tasks. This topic lists these options and indicates when to use each one. The nature and the properties of the recurrence determine which option is the best one in each situation.

Schedule Objects

Schedule objects are the most powerful and flexible alternative to define recurrent actions. The minimum interval at which the tasks in a Schedule are executed is one day.

Schedule objects allow you to define clear, structured intervals that are easy to maintain and to monitor. They are also flexible because they allow you to define specific time parameters for each task in a Schedule.

See Schedules (JSCH).

Recurring Executions

To execute tasks in intervals shorter than one day, you can use the Execute Recurring option.

Objects that are executed this way are the so-called "Runtime objects". They are only visible in the Process Monitoring perspective while they are active. You can recognize active recurring executions on the Tasks list in the Process Monitoring perspective because their type is C_PERIOD.

You can only change their parameters while the task is active.

This type of scheduled executions is not as visible as Schedules. Their maintenance is not as straightforward either, particularly if time shifts between Daylight Saving Time and Standard Time are involved. To deal with time shifts better, you can assign a Time Zone object to the recurring parameters.

See Executing Objects - Recurring.

Sync Objects

Sync objects allow you to define dependencies among objects that determine when they should be executed. For this reason, they can also be considered as "scheduling" objects.

They are a powerful tool to organize task executions. However, if you use them excessively, the dependencies they establish can be complex and difficult to maintain.

See Sync (SYNC).