Priority

Description

Sets the priority level for the managed task. Automate tasks can be instructed to run alone or in conjunction with other running tasks. If priority conflicts occur between tasks, Automate can dictate how such conflicts should be handled. It can set a task to run only when no other tasks are running or set a limit in regards to the number of concurrently running tasks.

Task priority can be used to limit consumption of system resources (i.e. CPU and memory usage). It is also useful to prevent interactive tasks from interfering with one another. For example, Task1 must make sure that a particular window or application stays in the foreground in order to send keystrokes to it. If Task2 were to run and focus an unrelated window, it would eventually interfere with Task1'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 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 clicking the Run button.

Practical Usage

Automate 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.

Related Topics  

Parameters

Task Prioritization involves two points - first, under what conditions the task will not be allowed to run (priority condition), and second, what to do with the task if such a condition arises (priority conflict).

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 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 uses the selected priority conflict action (explained below under If condition is not met parameter).
  • Limit number of simultaneous tasks - Automate 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 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 If the Limit number of simultaneous instances of this task or Limit number of simultaneous tasks option is selected, this parameter becomes enabled and allows you to select 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 re-evaluated 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 'Schedule Watcher' trigger's re-scheduling 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 'Schedule Watcher' trigger is set to launch the task, it is re-scheduled based on the trigger's re-scheduling parameters.
Hold duration If the If the condition is not met parameter is set to Hold task then abort or Hold task then interrupt all running tasks is selected, this parameter becomes enabled allowing you to select the total amount of minutes to hold the task before other actions take place.