Runners
Go to RunnersRunners are services initiated in execution environments that connect with the BotCity Orchestrator. They can be installed on physical machines, virtual machines, or containers. Their basic function is to execute tasks.
When accessing the side menu, you can view general information about execution environments to monitor task processing.
How it works¶
The basic flow of a Runner, after the installation process, is as follows:
- Initialization and authentication with the BotCity Orchestrator
- Identification of pending tasks
- Download of robots
- Creation of isolated environments for each different automation
- Installation of automation dependencies
- Task execution
Runners can execute tasks of different types of automations, from those requiring direct interaction with the user graphical interface (such as desktop applications, ERPs, and operating systems), to automations that work without a graphical interface, such as headless web, crawlers, and API integrations.
Execution Parallelism
Each Runner executes a single task at a time, but you can install multiple Runners in the same execution environment, enabling execution parallelism and greater throughput of the pending task queue.
Some care should be taken when allocating Runners in a single environment:
- Automations that depend on screen resource manipulation should not run together, as there will be competition for resources, leading to process failure. The ideal scenario is one automation that uses this type of resource and background automations running in parallel.
- There is no limit to the number of Runners allocated in a single execution environment, but the type of process and how many resources the machine has (RAM, CPU, etc.) to process tasks in parallel should be considered.
Create Runner in the Orchestrator¶
When accessing the Runners side menu, click the + New Runner button in the top right corner and fill in the following information:
- Name: Friendly name for the Runner.
- Label: Unique identifier for the Runner.
- Remote Access:
optionalIP of the environment where it was installed.
Finish by clicking the Create button in the top right corner.
The next step is to configure it in the execution environment.
Configure Runner
Runner allocation and configuration should be done directly in the execution environments.
See more at:
Start Runner in the Environment¶
After configuration is complete, you can start the Runner service in several ways.
Runner Identifier¶
Each created Runner will have an identifier that represents it, as we can see below:
The green or red circle indicates whether or not a Runner is running on that resource at the moment.
For GUI-based automations, it is possible to see a screenshot taken every minute (when enabled). Just click on the screenshot thumbnail to view it at a higher resolution.
You can access the Runner card menu to view additional information, such as:
- Info: Basic information about this runtime environment.
- Logs: Tracking of automation execution logs.
- Screenshot: Download the current screenshot.
- Edit: Update some information about this runtime environment.
- Delete: Remove this instance of Runner in the BotCity Orchestrator.
Runner Telemetry¶
Warning
By default, telemetry information is not collected by the Runner. If you want this information to be sent to the Orchestrator, just include an additional configuration.
In the conf.bcf file located in the conf folder of the SDK mentioned earlier, simply set the logTelemetry=true configuration.
You can view the available configuration parameters by accessing this link.
You can access the Runner telemetry through the Info option of the Runner card menu, shown above.
General Runner Information¶
Where:
- Status: Indicates the current status of the runner, that is, whether it is
onlineoroffline. - Last Task: ID of the last executed task.
- Allocated Tasks: Indicates the number of automations allocated to this Runner.
- CPU: Indicates CPU utilization of the machine where the Runner was allocated.
- Memory: Total machine memory in
%.
Runner Information¶
Where:
- Label: Runner identification.
- Name: Runner name.
- Remote Access: Information about remote access.
- Version: Identifies the version of the Runner being used.
- Java Version: Indicates the version of Java installed on the machine where the Runner was allocated.
- Last Telemetry Update: Informs the last time (date and time) the telemetry was updated.
- Runner Uptime: The time the Runner has been or is active.
System Information¶
Where:
- OS Name: Name of the operating system of the machine where the Runner is allocated.
- OS Version: Version of the operating system of the machine where the Runner is allocated.
- CPU Architecture: Shows the CPU architecture.
- CPU Usage: Indicates the CPU usage percentage.
- Memory: Total system memory.
- Used Memory: Total memory in use.
- Free Memory: Total free memory.
- System Uptime: The time the system has been active.
Graph - Tasks per day¶
In addition to all this information, you can also monitor a graph of tasks executed by the Runner according to specific periods, such as the last week, last 15 days, and last month.
Processed Tasks¶
Accessing the Processed Tasks tab, it is possible to view a list of tasks processed by this Runner.
Configuration File¶
Accessing the Configuration File tab, it is possible to view the contents of the conf.bcf file, which defines the Runner's settings.











