Scheduler

Example Schedule - Click for a larger image

Blue Prism contains a system which can be used to execute processes at specified times and repeat their execution at various intervals. The scheduler runs as part of a configured Blue Prism Server service which has access to the Blue Prism environment with the processes held in it.

The schedules can be configured to run once, or be repeated at minutely, hourly, daily, weekly, monthly or yearly intervals. Calendars can be employed to cause the schedule to run only on working days, skipping specific certain weekdays and/or public holidays.

Schedules

A schedule represents the point of execution of a set of tasks. Each schedule is self-contained and contains various data – name & description, timing data and a set of tasks to perform.

When a schedule is executed, its 'Initial Task' is executed first and the subsequent tasks to perform are determined based on the outcome of that task. Thus, the tasks within a schedule are executed serially.

A schedule cannot be executed concurrently with itself. For example, say a schedule starts at 12:00, and is scheduled to run again at 13:00. If, at 13:00, the schedule is still running, it will not be executed again.

Schedules are created in the Control Room's Scheduler tab, using the Schedules components.

Tasks

A task represents a component of a schedule. It defines a set of sessions which are to be executed concurrently, and it provides a coalesced status outcome of those sessions so that the scheduler can determine which task to execute next.

A session is a top level process which runs on a resource PC. Each task can contain an arbitrary number of sessions. When the task is executed, each session is first created and, once they are all registered and pending on their host resources, they are executed.

By default, a task is set to 'fail fast' – that is, if any session fails to be created, all sessions will be terminated and the task will be terminated. Likewise, if any session's execution causes an error, all other sessions will be terminated and the task will be terminated. Note that this means that a task is marked as terminated if any sessions fail.

If a task is set to not fail fast, any session creation failures are logged but do not cause the task to fail. Equally, any individual session executions which cause an error are logged, but any other running sessions continue. Note that, if not failing fast, a task is marked as terminated only if all of its sessions fail.

Each task has an 'On Success' and an 'On Exception' value, which determines the next task to be executed after the current task has executed and has, respectively, completed successfully, or has been terminated due to an exception when creating/executing its sessions.

Tasks are configured in the Scheduler tab using the Tasks components.

Scheduler

The scheduler runs within a Blue Prism Server service. It is a background process which waits for the next schedule activation time and then executes any schedules due to run at that time.

The scheduler interprets the schedule activation times using the time zone configured on the server and therefore this should be considered when configuring the schedules.
Additionally where there are multiple Blue Prism Servers with the scheduler enabled it is necessary to configure all servers to use a common time zone.

The scheduler is configured for a particular connection within System Manager.

It can be configured to check to see if has missed any schedules when it starts up.

It checks the database every 30 seconds to see if it needs to refresh its current schedule data, so any changes to schedule timing will take at most 30 seconds to be recognised by the scheduler service itself.

If schedules are running when the scheduler is stopped or closed, they will attempt to terminate any active sessions cleanly and mark them as terminated in any schedule or session logs.