Where can I find out in what order multiple scripts will be executed on the same Robot?
I have checked all hidden columns in the Synthetic Console after deploying a script. There is a column "Last Start Time" in the Deployment View. After a few executions, one could infer the sequence by comparing the timings in this column. Another way would be to simply watch the actual script executions on a Robot. The Synthetic Monitoring Tray icon on the bottom right corner of an agent gives an indication of what single script will run next, but not the full order of multiple scripts. I am looking for a way to determine in what order the scripts will be executed on one Robot.
If there is such a view, is it possible to change the execution order of multiple scripts on the same Robot?
Solved! Go to Solution.
I would also point out that you can set the priority assigned to the task itself, without having to create a group. In the task configuration you can change the priority to a different level (Low, Medium,High); please refer to Modifying a Task. For absolute control of the sequence you would need to use group tasks.
I've found in our environment the execution order seems to be influenced by two factors: the task priority (High to Low) and the estimated execution time for the task (lowest to highest). I think the intention is that if a robot will end up running out of time before the next interval, it will prioritize getting the most tasks done (of course completing all higher priority tasks first). I'm not sure what happens in the event of a tie, but it might be sorted by the time that the task was first created (or the internal task ID).
A hypothetical example follows:
|Task Name||Priority||Execution Time||Task Order|
Thanks Luke, this was very useful. We have one agent that is basically overloaded with tasks at the moment, and I've noticed some tasks are only executed about every 2 hours, even though the setting is every 20 minutes. All the priorities are "High", so it appears that some of them are skipped often due to the long execution estimations. Looks like I need to define a group task until a 2nd agent is deployed to handle the load.
A few questions to those who've used group tasks. Am I supposed to leave the original tasks (also defined as subtasks in the group) enabled, as they are? Will the subtasks also be executed at their scheduled time, if there's a time slot available? What I mean is; Task abc is set to run every 5 minutes at medium prio... but it's also a subtask in a group with high prio that's executed every 20 minutes. Is it then only executed as part of the group, or is the 5 min interval also active, if there's idle time?
I got my group task to work, but there was sometimes a 10 minute delay between executions as the monitoring happened to take a bit longer and it passed the "optimal" time, so it had to wait a while for the next execution. I tried to get rid of these waits by changing the group's interval to 5 minutes (from 20 minutes), even though the estimated time was 19 mins. What happened was no tests were executed, at all. Eventually I had to delete the group, undeploy all tasks and redeploy them in order to wake up the agent.
So what would be the configuration to have a group task running continuously, i.e. as soon as the previous execution set ends, the next one is started? I'd like to get rid of those 10 minute idle waits...