Since AutoMate™ is fully multi-threaded, it has the capability of running many tasks simultaneously. However, in some instances a task may need to run alone and uninterrupted, such as when a task needs to keep an application focused in order to send keystrokes to it.
The Priority feature in AutoMate™ gives you the power to set task priorities and manage any conflicts between tasks. Prioritizing tasks involves two points: under what conditions will the task not be allowed to run, and what will be done with the task when those conditions occur.
When a task cannot run because its priority condition is not met, the task 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 queued tasks are reevaluated to see if the task can now be run.
From the Task Administrator window, open the Managed Task Properties dialog box by selecting the task and clicking Properties or right-click the task and select Properties from the right-click menu.
Click the Priority tab. A dialog appears as shown below:
Under Priority Type, select from the following:
The task is free to operate alongside other tasks, and runs without checking any priorities. This does not make it immune from being suspended, stopped, or queued by another task that has already begun with priorities that conflict with this task.
If you select this, enter the task-number limit in the box below. AutoMate checks whether running the current task will cause the total number of running tasks by the same name to exceed the specified value. If so, AutoMate uses the selected priority conflict action (see below).
If you select this, enter the task-number limit in the box below. AutoMate checks whether running the current task will cause the total number of running tasks to exceed the specified value. If so, AutoMate uses the selected priority conflict action (see below).
The task only runs if there are no other tasks running (this is analogous to "Limit number of simultaneous tasks" with the total allowable tasks set to 1)
Under If the condition is not met, select from the following:
The task is placed into the "waiting tasks queue" until all other prioritized tasks have completed. Then, the task is taken from the queue and run.
If you select this, use the box below to enter the number of minutes to hold the task. The task is placed into the "waiting tasks queue" and waits for the number of minutes specified. If the time elapses before conditions change that allow the task to run, the task is removed from the queue. If a schedule triggered the task, it is rescheduled based on its scheduling properties.
If you select this, use the box below to enter the number of minutes to hold the task. The task is placed into the "waiting tasks queue" and waits for the number of minutes specified. If the time elapses before the conditions change to allow the task to run, all the tasks currently running on the system are forcibly stopped, and the current task begins.
All tasks currently running are forcibly stopped and the current task runs immediately. When used in conjunction with the "Run Alone" priority condition, this gives a task ultimate running power.
All tasks by the same name as the current task are interrupted and the current task begins immediately.
The task does not run. If a schedule trigger started the task, the task is rescheduled based on the trigger properties.
If the option Hold task then abort or Hold task then interrupt all running tasks is selected, you can select the total amount of minutes to hold the task before other actions take place by entering the value under the Hold during parameter.
Set the task's isolation level under the Task Isolation parameter. The available options are:
Default - The first task instance starts from a pre-loaded process providing faster startup for that task. If other task instances start while the first instance is currently running, each of those tasks will start from their own process which may reduce their startup speed. However, since each subsequent task is isolated in its own process, failure of an individual task will not effect other running tasks.
Always Isolate - All tasks are set to start in their own process as opposed to starting from a single pre-loaded process. The first task instance and subsequent simultaneous task instances must wait for their corresponding process to start, reducing overall startup speed. However, because each task is isolated in their own process, they become independent from all other running tasks. Therefore, failure of a particular task will not effect other running tasks.
Never Isolate - The first task instance and all other simultaneous instances start from a pre-loaded process allowing for optimum startup speeds. However, since all tasks are run from the same process, failure of a single task will effect all tasks that are running under the same process.
Note: Tasks that have been placed into the queue can be manually removed or forced to run immediately using the Running Tasks dialog. For further information, see Starting and Stopping Tasks.
Editing Task Properties
About Creating Tasks
Creating a Task Using the Wizard
Creating a Task Without the Wizard