Priority

Description

Instructs the system to determine when to run a managed task in conjunction with other tasks and how to handle a conflict if one arises between them. Task priority can be used to limit consumption of system resources (for example, CPU and memory usage), and to prevent interactive tasks from interfering with one another. Task prioritization typically involves two main aspects; under what conditions the task is allowed to run, and how it should behave if such conditions are not met.

EXAMPLE: Task 1 must make sure that a particular window or application stays in the foreground in order to send keystrokes to it. If Task 2 were to run and focus an unrelated window, it would eventually interfere with Task 1's ability to send keystrokes to the proper window, thus failing one, or possibly both tasks.

To access the Priority properties of a managed task, from Task Administrator's Tasks view, right-click the desired task, and then select Go to > Priority.

NOTE: A task must have at least one trigger to run automatically; however, it is not a requirement. Tasks that have no triggers assigned can still be run manually from the Task Administrator by highlighting the task, and then selecting Run.

Related Topics

Practical usage

Automate Desktop is capable of executing numerous tasks simultaneously. However, you may want to set the maximum number of simultaneously run tasks as specified in the global priority options defaults to 50. On the other hand, there are certain situations when a particular task may need to run independent and uninterrupted from all other tasks. The Priority feature allows you to set priority levels for each task to alleviate such conflicts.

Parameters

Property Description
Priority type  The type of priority to set. Task Priority can be set for the following conditions:
  • Always runs - The task is free to operate alongside other tasks, and runs without checking any priority conditions. However, this does not make it impervious from being suspended, stopped or queued by another task that has already begun with priorities that conflict with this task. For example, if a task with priority settings Run alone has already started, the task set to the option Always runs will not immediately execute, but rather, it will have to wait in a queue assuming the conflict action Hold task indefinitely is selected. (This parameter is set by default)
  • Limit number of simultaneous instances of this task - Automate Desktop checks if running the current task will cause the total number of running tasks with the same name to exceed the specified value selected under the option Max number of running tasks. If so, Automate Desktop uses the selected priority conflict action (explained below under If condition is not met parameter).
  • Limit number of simultaneous tasks - Automate Desktop checks if running the current task will cause the total number of running tasks to exceed the specified value chosen under the Max number of running tasks option. If so, Automate Desktop uses the selected priority conflict action.
  • Run alone - The task only runs if there are no other tasks running. This is equivalent to the priority condition Limit number of simultaneous tasks with the total allowable tasks set to 1.
Max number of running tasks Specifies the maximum number of running tasks.   
If the condition is not met When a task cannot run because its priority condition is not met, it is either ignored and never run or placed into a queue of waiting tasks. The queue is examined each time a running task ends, and priority conditions of each task in the queue are reevaluated to see which task can now be run. Available priority conflict actions are as follows:
  • Hold task indefinitely - The task is placed into the "waiting tasks" queue until all other prioritized tasks have completed. Queued tasks will run in the order that they were placed in the queue.
  • Hold task then abort - The task is placed into the "waiting tasks" queue and waits for the amount of minutes specified. If the time elapses before conditions change that allow the task to run, the task is automatically removed from the queue and discarded. If a 'Schedule Watcher' trigger initially launches the task, it is rescheduled based on the scheduled trigger's rescheduling properties.
  • Hold task then interrupt all running tasks - The task is placed into the "waiting tasks" queue and waits for the amount of minutes specified. If the time elapses before the change to allow the task to run, all the tasks currently running on the system are forcibly stopped (aborted), and the current task begins immediately thereafter. When used in conjunction with the 'Run Alone' priority condition, this provides a task the highest possible running authority.
  • Interrupt all other running tasks - All running tasks are interrupted and the current task begins immediately.
  • Interrupt all other running instances of this task - All tasks with the same name as the currently running task are interrupted and the current task begins immediately.
  • Don't run - The task does not run at all. If a scheduled trigger is set to launch the task, it is re-scheduled based on the trigger's re-scheduling parameters.
Hold duration Specifies the total number of minutes to hold the task before other actions take place.