Camunda external task Robot Framework RCC client
Project description
Camunda external task Robot Framework RCC client
Technology preview.
carrot-rcc is an opinionated Camunda external task client for executing Robot Framework RPA framework tasks. It is based on Robocorp RCC toolchain and Camunda external task client for Node JS.
carrot-rcc executes robots build and wrapped into zip files as instructed by Robocorp documentation. Single carrot-rcc service can subscribe multiple topics, execute tasks concurrently, but only locally on the same computer. carrot-rcc works on Windows, Linux and most probably also on MacOS.
usage: carrot-rcc [<robots>...]
[--base-url] [--authorization]
[--worker-id] [--max-tasks] [--poll-interval] [--log-level]
[--rcc-executable] [--rcc-encoding] [--rcc-telemetry]
[-h] [--help]
<robots> could also be passed as a comma separated env RCC_ROBOTS
options:
--base-url[=<url>] [env: CAMUNDA_API_BASE_URL] [default: http://localhost:8080/engine-rest]
--authorization[=<header>] [env: CAMUNDA_API_AUTHORIZATION] [example: Basic ZGVtbzpkZW1v]
--worker-id[=<string>] [env: CLIENT_WORKER_ID] [default: carrot-rcc]
--max-tasks[=<cpus>] [env: CLIENT_MAX_TASKS] [default: [cpu count]]
--poll-interval[=<milliseconds>] [env: CLIENT_POLL_INTERVAL] [default: 10000]
--log-level[=<debug|info|warn|error>] [env: CLIENT_LOG_LEVEL] [default: info]
--rcc-executable[=<path>] [env: RCC_EXECUTABLE] [default: rcc]
--rcc-encoding[=<encoding>] [env: RCC_ENCODING] [default: utf-8]
--rcc-telemetry [env: RCC_TELEMETRY] (default: do not track)
-h, --help
TODO
- On startup, every given robot.zip is examined for their task names
robot.yaml. - Then
carrot-rccsubscribes every task name as they were Camunda external task topics. - On a new task, its variables (also files) are saved as a local robot work item.
- Next RCC is called to resolve robot's dependencies and execute the robot.
- Finally,
carrot-rccsaves execution logs and changed and added variables from the robot's saved work item back to Camunda (with task execution context) and either completes of fails the task at Camunda.
Usage
carrot-rcc requires NodeJS 12 or later and expects RCC to be on its PATH (or configured using --rcc-executable argument).
Yet, it is possible to bootstrap everything with just RCC:
-
Create a directory for
carrot-rccand download RCC into that directory. -
Download an example conda.yaml defining the requirements for
carrot-rcc. -
Install
carrot-rccinto RCC managed environment with$ rcc env new conda.yaml
or
$ rcc.exe env new conda.yaml
-
The hard part. Figure out from the logs where RCC did create the environment. Then copy a few files back and forth to give you access the environment and installed
carrot-rccand givecarrot-rccaccess to RCC with$ cp /home/user/.robocorp/live/850002f365eee60f/rcc_activate.sh . $ cp rcc /home/user/.robocorp/live/850002f365eee60f/bin
or
$ copy C:\Users\User\AppData\Local\robocorp\live\850002f365eee60f\rcc_activate.cmd . $ copy C:\Users\User\AppData\Local\robocorp\live\850002f365eee60f\Scripts\carrot-rcc.exe . $ copy rcc.exe C:\Users\User\AppData\Local\robocorp\live\850002f365eee60f
-
Finally, activate environment with
$ source rcc_activate.sh
or
$ rcc_activate.cmd
Done, now carrot-rcc should be ready to be run, for example with:
$ carrot-rcc robot.zip --base-url=http://localhost:8080/engine-rest --log-level=debug
or
$ carrot-rcc.exe robot.zip --base-url=http://192.168.86.156:8080/engine-rest --log-level=debug
The project's repository includes an example Camunda process with an an example RCC compatible robot available.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file carrot-rcc-0.3.1.tar.gz.
File metadata
- Download URL: carrot-rcc-0.3.1.tar.gz
- Upload date:
- Size: 261.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.8.9 Linux/5.4.112
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53e0346ba6ed2740665f1bbb40d49d1302ba3437db4223687bef224bfbaef04e
|
|
| MD5 |
e261482ee3271ddcc87381cbc56defb8
|
|
| BLAKE2b-256 |
b746492341ecfadf19e1b804546f9b11b9f733e8f9db179b28040337f4467600
|
File details
Details for the file carrot_rcc-0.3.1-py3-none-any.whl.
File metadata
- Download URL: carrot_rcc-0.3.1-py3-none-any.whl
- Upload date:
- Size: 263.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.8.9 Linux/5.4.112
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aabe5af0ae250f33c7d964198698a0464ad46a8dd7be7f6bd970a30a4a0e8ec0
|
|
| MD5 |
7ccee1f7f59c1500ce2d5e40e14ad497
|
|
| BLAKE2b-256 |
158088f99fdef555038844b73ad63f9ca73e6f2f4d4c48669801a566ee83e4f2
|