This is UltimateRPA Documentation
Scheduler

1 UltimateRPA Scheduler – what it is

UltimateRPA Scheduler is a scheduling tool used to repeat Queues at various user-defined time intervals and periods. Each Queue may contain any number of Tasks, which are run sequentially in the order in which they are queued within the Queue. A Task is primarily intended to launch a particular application. UltimateRPA Scheduler's basic function is to run UltimateRPA Robot with a debugged robotic script that simulates real user work. A key step when working with UltimateRPA Scheduler is to define a Task that is to run an application, most often UltimateRPA Robot. For each Task, various properties can be defined. These properties include the application to be run, the method to end the task when the defined timeout is exceeded, background execution and so on. With the Queue, the time or period when each task is to be rerun is defined. An important feature of UltimateRPA Scheduler is the ability to run only one Queue at a time. Queue and Task settings are stored in a file with the UltimateRPA-Scheduler extension.

UltimateRPA Scheduler is designed for operating systems Microsoft Windows 7 (NT 6.1) through Microsoft Windows 10 (NT 10.0). Scheduler is launched after the Scheduler.exe file is run.

1.1 License

You may obtain the UltimateRPA license free of charge for non-commercial use, or test whether the tools meet your expectations and then switch to a license for commercial use. Both the commercial and non-commercial licenses are issued for one year and offer the same tools, features and documentation. If you opt for a non-commercial license, whenever you start up tools it will be validated against our license server. This is not the case with a commercial license. A commercial license is limited to one end device on which it is run, regardless of the number of robotic automations executed. Put simply, you can run dozens of robotic processes on one computer with a single license. There is no limit to the number of end devices covered by a non-commercial license. The full text of the General Terms and Conditions can be found in General_terms_and_conditions.rtf, in the directory where Scheduler.exe is located. To view license validity details, you need to go to the UltimateRPA Scheduler Help Menu.

Scheduler_about_dialog.png
Figure 1 "About" dialog box with license file information

If license.lic is not located in the directory where Scheduler.exe file is present, after running the application you must enter a valid license key or the content of a valid license.lic file, into the "License Key" edit box in the "Add License Key" dialog, and then click Submit. If the license key is valid, clicking the Submit button will create a license.lic file in the directory along with the Scheduler.exe file and UltimateRPA Scheduler will run.

Scheduler_lic_key.png
Figure 2 Inserting a license key

2 Creating a scheduling script

2.1 Basic concepts

Queue A Queue represents a sequence of Tasks that will be run in the order in which they are queued. The Queue is mainly used to define the time of script execution or application run. The first Task starts at this time, the second one after the first has finished, the third after the completion of the second, and so on.
Task A Task defines what to run and how to run it, whether it is an automation script for Robot or another application. A Task does not include the run date and time configuration. These parameters are defined at Queue level.
Activation period and time The period and time of application activation, as declared in the Queue

The largest part of UltimateRPA Scheduler's main window is taken up by the Queues group frame, containing Queues and Tasks trees, and the Timetable group frame, containing the current Task running schedule for enabled Queues. You can change the order of the Tasks marked in the Queues tree by dragging and dropping, and you can move individual Tasks between different Queues.

Scheduler_main.png
Figure 3 UltimateRPA Scheduler

2.2 Queue features

To create a new Queue, right-click in the Queues group frame and select Add Queue in the context menu. Alternatively, select Edit–Add Queue or click on the Add Queue Toolbar icon. A new Queue is added at the end of the Queues group frame items.

A Queue is always formed by a sequence of Tasks and runs independently. The Queue itself does not define the application to be run. The Queue only provides Tasks with a common name and molds them into a single structure of interdependent Tasks that are processed sequentially when the scheduling script is run. In the Queues group frame, the Queue is always the root of the tree. Each Task has its own settings independent of the way the Queue as a whole is configured. In the Queues group frame, both the Task and the Queue are always labelled with their own name in the tree. Within a Queue, Tasks are performed in succession and each Task waits until the previous Task is finished. This means two Queue Tasks cannot run at the same time.

2.3 Task features

To add a Task to a Queue, use the context menu option Add Task above the selected Queue. Alternatively, add a Task by selecting Edit–Add Task or click on the Add Task Toolbar icon. The Add Task option is available only after a Queue tree has been created or designated in the Queues group frame. This means that a Task cannot be created unless a Queue has been created. After one of these options has been selected, a new Task is added to the end of the Tasks list of the selected Queue.

A Task is used to run any application that performs a particular job on the computer. A typical example is the launch of a robotic tool, such as UltimateRPA Robot. First, create a robotic script simulating real user activity and store it in its debugged form. The task here will be to run UltimateRPA Robot and play back the robotic script that has been created. An important attribute for each Task is the value of "Task should end within (min)". This attribute specifies the end of the time interval within which the Task application can be run.

2.4 Queue editing window

The Queues editing window is used to edit a newly added or an already created and selected Queue. The editing window of an already created Queue is activated by left double-clicking or by right-clicking on the selected Queue and selecting the Edit ... context menu item. If a Queue is run, once the Queue parameters have been modified these changes are reflected in the list in the Timetable group frame. Whenever the Queue name is changed, this change is propagated to the Queues group frame.

Scheduler_queue_settings.png
Figure 4 Queue Settings dialog box
  • Queue name – The name of the Queue that appears in the tree in the Queues group frame and, when the scheduling script is played back, in the table in the Timetable group frame.
  • Scheduling – Constantly – After this checkbox is activated, the Queue will be run constantly, and the settings set via the Days Settings and Times Settings are ignored. This option is used primarily to debug the automation script.
  • Scheduling – Days Settings ... – To set the days on which a Queue is run in the Days Settings dialog box – see Chapter 2.5 Queue – Active Day Scheduling.
  • Scheduling – Times Settings ... – To set the active time within a single day in the Times Settings dialog box – see Chapter 2.6 Queue – Active Time Scheduling.

2.5 Queue – Active Day Scheduling

Day scheduling is used to define the days on which the Queue is to execute its Tasks, or to run the robotic scripts included in those Tasks. Active days can only be scheduled for a Queue. The scheduling of days cannot be set for individual Tasks; their active days are defined by the parent Queue. The default setting of active days is any time.

If Queue is to run only on certain days, these days must be precisely defined. Typically, days are repeated with a certain frequency (weekly, monthly, or yearly). Active days can be precisely defined on the left side of the Days Settings dialog box in the group frames "Meets one of the following conditions" and "Does not meet any of the conditions". On the right side of the Days Settings dialog box, the Preview group frame contains a preview of the currently set active days. In the lists on the left side of the dialog box, entries are added by right-clicking on the green plus icon in the Actions column and by setting conditions in the Condition Editor dialog box.

Scheduler_day_settings.png
Figure 5 Days Settings dialog box
  • Meets one of the following conditions – The Queue will only be run on the days defined in this list.
  • Does not meet any of the conditions – Items in this list "negate" a selection made in the "Meets one of the following conditions" list. The Queue will not be run on selected days if these days are set in the "Meets one of the following conditions" list.
  • Preview – Following dates – Preview of the list of days on which the Queue will be run. The preview displays a list of active days for the next year from the current date at the workstation. Days that have been selected in the "Meets one of the following conditions" group frame and have been "negated" by the selection made in the "Does not meet any of the conditions" group frame are shown stricken through.
Scheduler_Condition_editor.png
Figure 6 Condition Editor dialog box

By configuring the controls in the Condition Editor dialog box, you can create the most frequently required daily schedules to activate the Queue.

After setting the All Days option in the Schedule On dropdown field, you can set values in the Run dropdown field.

  • Every day – The Queue will run every day.
  • Weekly – The Queue will run on every selected day of the week, e.g. every Monday and Tuesday.
  • Monthly – The Queue will run on every selected day of the month, e.g. every first and second day of the month.

After setting the Business Day option in the Schedule On dropdown field, you can set values in the Run dropdown field.

  • Every business day – The Queue will run every working (business) day. Working days are set in the Preferences dialog box and days defined in the Holidays option are excluded from the group of working days.
  • Weekly – The Queue will run every designated working day of the week, e.g. every second working day in the group of Working Days, excluding days in the Holidays group.
  • Monthly – The Queue will run every designated working day of the month, e.g. every second working day in the group of Working Days, excluding days in the Holidays group.

After setting the Non-business Day option in the Schedule On dropdown field, you can set values in the Run dropdown field.

  • Every non-business day – The Queue will run every non-working (non-business) day. Days in the group configured via the Holidays option are added to days not selected as Working Days in the Preferences dialog box.
  • Weekly – The Queue will run every designated non-working day of the week, e.g. every second non-working day in the Non-working Days and Holidays group.
  • Monthly – The Queue will run every designated non-working day of the week, e.g. every first non-working day in the Non-working Days and Holidays group.

After setting the Custom Days option in the Schedule On dropdown field, you can set user-defined days in the Run dropdown field.

2.6 Queue – Active Time Scheduling

If Queue execution needs to be set at different time intervals on different days, you must create a copy of the Queue and modify the execution times in that copy. As the scheduling of days and times is configured separately, it is impossible to create run settings at different times for different days in a single Queue. Once a Queue is created, the Start Times list is empty and you need to set time manually, otherwise Queue will not run after the "Turn on all queues" or "Turn on selected" option is enabled.

The exact Queue execution time can be defined by individual item (time) after selecting Individual in the Selection Method dropdown field. Use the Time edit box and the Add button to add a single Queue run time.

Another option is to make a mass entry using the time interval and the iteration cycle after selecting the Repetitive option in the Selection Method dropdown field. The beginning of the time interval is set in the Beginning Repetition edit box. The end of the time interval is set in the End of Repetition edit box, and the iteration cycle size (in minutes) is set in the Repeat Every X Minutes edit box. After the Add button is pressed, the set time will be added to the Start Times list on the right side of the dialog box. The Start Times list displays a list of the times set for the Queue to run. Selected times can be deleted by marking items in the Start Times list and pressing the Delete key.

Scheduler_Time_settings_Individual.png
Figure 7 Time Settings − Individual dialog box
Scheduler_Time_settings_Repetitive.png
Figure 8 Times Settings − Repetitive dialog box

2.7 Tasks editing window

The Tasks editing window is used to edit a newly added or an already created and selected Task. The editing window of an already created Task is activated by left double-clicking or by right-clicking on the selected Task and selecting the Edit ... context menu item. If a Queue is run, once the Queue parameters have been modified these changes are reflected in the list in the Timetable group frame. Whenever the Queue name is changed, this change is propagated to the Queues group frame.

  • Task name – The name of the Task propagated to the tree in the Queues group frame and, when the scheduling script is played back, to the table in the Timetable group frame.

Scheduler can run two types of tasks:

2.7.1 UltimateRPA Script Task

After this option Run – UltimateRPA script has been selected, the Task will be defined for running of UltimateRPA Robot and the robotic application, i.e. the Task will execute the robotic script.

Scheduler_task_settings_urpa.png
Figure 9 Task Settings – UltimateRPA Script dialog box
  • Script to run – This edit box is used to define the path and name of the robotic script that is to be run. The button at the end of the edit box helps with the selection of the robotic script.
  • Run task on a hidden desktop – This option can be used if you want to separate the running of an application, or robotic script execution, from the default Windows desktop. By default, UltimateRPA Robot and robotic script are run on the default desktop, and the robotic applications have focus while the scripts are running. This is particularly inconvenient if you want to work on the computer. Once this option is enabled, in the Desktop Name edit box you can define the name of another desktop on which UltimateRPA Robot and robotic script are to be run. There are certain factors specific to running on another desktop – for more details, see the UltimateRPA Robot documentation.
  • Desktop name – This edit box is used to define the name of a hidden desktop, usually uniquely selected for each Task.
  • Clean and close the desktop after the tasks ends – When UltimateRPA Robot or a robotic application is run on a hidden desktop, you may occasionally find that the robotic applications are not closed properly, resulting in an unwanted process when a Task is next run on that desktop. If you need to clean the desktop of all processes after completing Task processing, you must have this switch on.
  • Before running the task, Scheduler should wait – The delay in the running of the robotic script, or the wait time prior to running the robotic script.
  • Task should end within – The maximum allowable runtime for a Task with running status. If the robotic script, once run, is not completed within that time, UltimateRPA Scheduler will terminate UltimateRPA Robot alone or together with the robotic application, depending on how the "If the task does not end in time" option is configured.
  • If the task does not end in time – This dropdown field is used to define Task behavior if the robotic script runs for longer than the time set in the "Task should end within" field. If the "Do nothing" option is set, only UltimateRPA Robot will be closed. If "Kill process subtree" or "Kill all associated processes" is selected, robotic application processes will also be terminated.
  • If "Do nothing" is selected in the If the script ended incorrectly select field, the next task in the Queue will be run if the robot script processing fails.
  • If "Run the script again" is selected in the If the script ended incorrectly dropdown field, robot script processing will be re-run if it fails. Consequently, in this setting robotic script execution can be repeated continuously until the script closes correctly or until the time set in the "Task should end within" is reached.
  • Before running the script again, wait X (sec) – The time that the Task will wait before the robotic script is re-run.
  • If the script has ended incorrectly X times in a row, wait Y seconds before next run – If robotic script processing fails X times in a row, the Task will wait Y seconds before the robotic script is re-run. This feature is used to reduce the frequency of robotic script execution in a situation where it is highly likely that the robotic application's status is irregular.
  • If "Run a cleaning script again" is selected in the If the script ended incorrectly dropdown field, a cleaning robotic script will be run if robot script processing fails. A cleaning-robotic script is used most often to sign out correctly from a robotic application if the robotic application is susceptible to forced termination.
  • Cleaning script – This edit box is used to define the path and name of the cleaning robotic script that is to be run if the robotic script fails. The button at the end of the edit box helps with the selection of the cleaning robotic script.
  • Before running the cleaning script, wait X (sec) – The time that the Task will wait before cleaning robotic script is run.
  • If "Run a cleaning script and run the script again" is selected in the If the script ended incorrectly dropdown field, the above features of "Run the script again" and "Run a cleaning script" can be used in parallel.

2.7.2 Command-type Task

Once the Run – Command option is selected, the option to launch any application via a Task is enabled.

Scheduler_task_settings_command.png
Figure 10 Task Settings – Command dialog box
  • Command – This edit box is used to specify the path and parameters of an application that is being run and is tied to a Task. The button at the end of the edit box helps with the selection of the application.
  • Run in directory – This edit box is used to specify the working directory of an application that is being run. The button at the end of the edit box helps with the selection of the directory.
  • Command window – This dropdown field is used to define the method for the running of an application tied to a Task. The Normal option runs the application in the default window size. The application may sometimes run differently from the way it has been set. This is mostly due to the fact that the application itself will change the display after running. The Hidden option hides the application while it is running. This option will cause the application to run, but the user will not see it anywhere (no application window will be created). The Minimized option minimizes the application when it is run. The Maximized option maximizes the application when it is run.

For the Desktop Management, Before running the task, Scheduler should wait, Task should end within, and If the task does not end in time controls, the same features and behavior as those for the setting of the Run – UltimateRPA Script option apply – see UltimateRPA Script Task.

3 Scheduling script execution

Scheduling script execution is activated during the debugging of scheduling script by selecting Control – Turn on all queues (runs all Queues), Turn on selected (runs the Queues selected), or Start immediately (starts only one loop for the Queues indicated). For automated scheduling script execution, you must enter the path and name of the scheduling script as the first parameter, and the -startall or -autostart option as the second parameter, e.g. "D:\\UltimateRPA Tools\\Scheduler.exe D:\\UltimateRPA Tools\\Script.UltimateRPAScheduler -startall".

3.1 Description of Task status – Timetable

In the Timetable group frame, an overview of the scheduled running of Tasks for each Queue is displayed. The Planned Start column displays a description of the scheduled Task run time. The Status column displays the status following the previous Task processing (Running, Finished, Wait for the task run, etc.).

3.2 Ending Queue execution

If the user enters a command to end the processing of a Queue with "running" status, an Alert dialog box is displayed. Scheduling script execution is ended by selecting Control – Turn off all queues (ends all running Queues) or Forbid selected (ends the selected running Queues). After the Terminate option is entered, the processing of the current Queue Task is ended immediately or, if the robotic script is run, the robotic application will be shut down immediately. The following Queue Tasks will not run and the Queue status "running" will be deactivated. After the "Turn the queue off but don't terminate" option is entered, the Queue status "running" is deactivated, but the last scheduled Queue Task loop will be completed. If the Cancel option is entered, the Queue will be processed according to the original schedule.

Scheduler_terminate.png
Figure 11 Dialog box controlling behavior when ending a running Queue

3.3 Scheduling script execution output

During scheduling script execution, an output log file is created with processing information. The output log file is created in the ".\\log\\" directory located in the same directory as the Scheduler.exe file. To create the output file, the user running UltimateRPA Scheduler must have the permissions to write to the directory where the Scheduler.exe file is located. The log file name consists of the name of the scheduling script and a timestamp in the format "_YYYY–MM–DD", matching the current date at the workstation. The output log file has the extension "log".

Each time scheduling script is run, output files older than one day and tied to the same scheduling script are compressed into a zip file.

4 UltimateRPA Scheduler settings

4.1 Preferences

In the Preferences dialog box, which opens when you select Edit – Preferences, you can change the default (non-)working days setting, set the UltimateRPA Scheduler global behavior when the Queue timeout is exceeded, and set the properties of the output file containing information on UltimateRPA Scheduler activity during scheduling script execution.

Scheduler_Preferences_scheduler.png
Figure 12 Preferences – Scheduler dialog box
  • First day of week – Definition of the first day of the week.
  • Holidays – Option to set non-working days, representing public holidays. The default option is linked to the file holidays\Czech.holiday. After creating your own "Country.holiday" file, you can use the "Load other holidays" button to import a newly created non-working days file.
  • Working days – Definition of the term "working week".
  • Postpone the start of next queue – If a Queue has "Running" status and its processing will not be completed before scheduling commences for the start of another Queue, the start of the next Queue will be postponed.
  • Terminate the running queue – If a Queue has "Running" status and its processing will not be completed before scheduling commences for the start of another Queue, the processing of the current Queue will be terminated.
Scheduler_Preferences_Robot.png
Obrázek 13 Preferences dialog box – Robot settings
  • Measurement directory – In this edit box, you enter the path where the results of the measurements written using the write_measure function are to be temporarily stored. If the connection with the Console has been set up properly, the scheduler regularly selects the directory and sends the data to the Console.
Scheduler_Preferences_Console.png
Figure 14 Preferences dialog box – Console settings.
  • Enable sending measurements – Enable communication between the scheduler and the Console. If this field is not ticked, the scheduler does not send data to the Console, regardless of the other settings.
  • Console backend – The address where the Console is running.
  • Password – The password used by the scheduler when sending data to the Console.
Scheduler_Preferences_log.png
Figure 15 Preferences – Logging dialog box
  • Directory – This edit box is used to specify the path for the storage of output files.
  • Level of detail – This dropdown field sets the output file content range. The Error option is tied to the smallest information content and the Trace option is tied to the largest amount of information in the output file.
  • Keep logs for – This edit box is used to enter the time period (in days) after which the output files will be deleted.