Skip to content

Runners

Go to Runners

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

Runners

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.

Runner

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: optional IP 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:

New Runner

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:

Runners

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 Runners

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

Runner Information

General Runner Information

General runner information

Where:

  • Status: Indicates the current status of the runner, that is, whether it is online or offline.
  • 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

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

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.

Runner Tasks Graph

Processed Tasks

Accessing the Processed Tasks tab, it is possible to view a list of tasks processed by this Runner.

Runner Processed Tasks

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.

Runner Conf File