跳转到主要内容

Camunda外部任务Robot Framework执行调度器

项目描述

Camunda外部任务Robot Framework执行调度器

技术预览。

carrot-executor 是一个针对解耦Camunda外部任务执行器概念的Robot Framework RPA任务编排,该概念将任务锁定和执行调度从机器人执行中解耦。

在此概念中,基于 camunda-external-task-client-js 的Carrot外部任务客户端从Camunda获取配置的外部任务,调度它们的执行,并在执行完成前在Camunda上锁定任务。一旦开始执行,所有与执行和Camunda的交互都由执行Robot Framework机器人的机器人完成,主要使用专用的Robot Framework监听器和关键字库。

此初步预览提供了对本地并行任务执行的支持,但该概念也设计为支持远程执行器,如参数化的Nomad任务、CI系统、Docker甚至Robocloud API。

要求

  • 用于Camunda的Docker和Docker Compose

  • Python >= 3.8 用于执行Robot Framework

    $ python --version
    Python 3.8.8
    
  • NodeJS >= 12 用于执行外部任务客户端

    $ node --version
    v12.21.0
    

尝试使用

虽然 carrot-executor 本身可以从PyPI安装,但要尝试这个概念需要设置Camunda BPM平台并拥有示例Robot Framework任务套件。

为此,最简单的方法是克隆或下载项目仓库,并使用Docker Compose启动预配置的Camunda

$ git clone https://github.com/datakurre/carrot-executor
$ cd carrot-executor
$ docker-compose up

一切准备就绪后,应该有在 http://localhost:8080/camunda 上运行的Camunda,用户名为 demo,密码为 demo

默认情况下,我们的Camunda容器已部署了他们和我们的演示流程。让我们删除他们的演示流程

  1. 打开Camunda任务列表: http://localhost:8080/camunda/app/tasklist/default/
  2. 选择 启动流程
  3. 选择 重置Camunda到清洁状态
  4. 启动

现在可以使用 carrot-executor 来帮助完成启动的过程。为此,我们需要创建一个新的 Python 环境并安装我们的包。

$ python -m venv my-carrot-executor
$ source my-carrot-executor/bin/activate
$ pip install carrot-executor

现在可以通过参数化来启动执行器,以完成我们从启动的过程中开始的任务。

$ CAMUNDA_API_BASE_URL=http://localhost:8080/engine-rest ROBOT_SUITE=robot/reset.robot CAMUNDA_TOPIC="Reset tasklist filters,Reset deployments" carrot-executor
polling
✓ subscribed to topic Reset tasklist filters
✓ subscribed to topic Reset deployments
polling
✓ polled 2 tasks
polling
✓ polled 0 tasks

默认情况下,执行器会执行与订阅的主题名称匹配的任务名称。这可以通过环境变量 ROBOT_TASK 来覆盖。设置该变量为空,应该会执行整个测试套件。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

carrot-executor-0.8.0.tar.gz (128.2 kB 查看哈希值)

上传时间 源代码

构建发行版

carrot_executor-0.8.0-py3-none-any.whl (128.4 kB 查看哈希值)

上传时间 Python 3

由支持