stackstorm 4. 工作流

1 工作流Workflows


典型的资料处理中心操作和处理包含了将多个动作通过不同系统组合在一起。
为了捕获和自动化这些动作,StackStorm使用了工作流workflows。
一个workflow将自动化的动作排场以行集成到一个高度的自动化中,
并通过在正确时间,正确的输入来调用正确的动作来合理安排它们的执行。
它维持state,在actions只见传递数据,并提供可信和透明性给execution。

正如任何动作一样,工作与哦刘在自动化库中被暴露,并且可以被手动调用,
或者被规则触发。工作流深圳可以被其他工作流调用。

为了创建一个工作流动作,选择一个工作流runner(Mistral 或者 ActionChain),
在一个工作流定义中连接动作,并提供常见的动作元数据。

StackStorm支持两种类型的工作流: ActionChain和Mistral。

1) ActionChain是StackStorm内部的不加修饰的工作流运行器。它提供了
一个简单的语法来定义了工作链,一个接一个地运行,将一个动作地输出传递
给另外一个,直到动作链成功或失败。
当你想要快速和简便地时候就使用ActionChain吧。

2) Mistral是一个专用地工作流服务,起源于Openstack,集成到了StackStorm中了。
正是Mistral地帮助,你可以通过嵌套工作流来定义复杂工作流的逻辑,
forks, joins,和用于处理,重试,延迟等策略。
当你想要强大的和灵活的工作流就使用Mistral吧。

3) Orquesta是一个新的工作流引擎,专门为StackStorm设计的。
它现在处于公众的beta版本。未来将会取代Action Chain和Mistral。
有了Orquesta,你可以定义简单的顺序工作流或者拥有forks,joins,和复杂数据转换和查询的
复杂工作流。
使用Orquesta来对未来的工作流进行测试驱动。

学习如何定义并运行工作流:
ActionChain:        https://docs.stackstorm.com/actionchain.html
Mistral:            https://docs.stackstorm.com/mistral.html
Mistral + YAQL:        https://docs.stackstorm.com/mistral_yaql.html
Mistral + Jinja:        https://docs.stackstorm.com/mistral_jinja.html
Orquesta:             https://docs.stackstorm.com/orquesta/index.html

以上翻译自:
https://docs.stackstorm.com/workflows.html

### 回答1: StackStorm是一个开源自动化工具,用于创建、管理和执行工作流和自动化任务。Docker Compose是一个工具,用于定义和运行多个Docker容器的应用程序。StackStorm提供了一个Docker Compose配置文件(docker-compose.yaml),用于快速部署StackStorm服务。 这个docker-compose.yaml文件中包含了StackStorm的各个组件的配置信息。首先,它定义了要使用的基础镜像,如StackStorm工作者(worker)和队列服务(rabbitmq)。然后,它指定了各个容器的名称、端口映射和网络配置。 在docker-compose.yaml文件中,还定义了stackstorm服务容器的环境变量,用于指定配置参数,如数据库连接、日志级别等。此外,还可以定义其他容器的环境变量,以满足不同组件的需求。 通过运行docker-compose命令,可以根据这个配置文件来创建和启动StackStorm服务容器。Docker Compose会自动解析和处理配置文件中的依赖关系,并按照定义的顺序启动容器。这可以让我们快速部署和管理StackStorm服务,并且方便地进行扩展和升级。 总之,StackStorm的docker-compose.yaml文件是用来定义和管理StackStorm服务容器的配置文件。它提供了一种简便的方式来部署和管理StackStorm,使得自动化工作流和任务的创建和执行更加方便和高效。 ### 回答2: StackStorm 是一个开源自动化平台,可以用于自动化各类任务和流程。Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。一般来说,使用 Docker Compose 可以轻松地将 StackStorm 部署到 Docker 容器中。 stackstorm docker-compose.yaml 是一个用于在 Docker Compose 中定义 StackStorm 的配置文件。这个文件包含了 StackStorm 中的各个组件以及它们的配置。在编写这个文件时,我们可以指定 StackStorm 需要运行的容器数量、容器之间的依赖关系等。 通常,stackstorm docker-compose.yaml 包含以下几个部分: 1. Services 部分:这里定义了 StackStorm 中的各个组件的容器。比如,可以指定一个容器运行 StackStorm Web UI,另一个容器运行 StackStorm 后台服务,还可以有其他的容器用于运行 StackStorm 的数据库、消息队列等。 2. Networks 部分:这里定义了容器之间的网络连接方式。可以指定容器使用的网络模式,如桥接模式或者主机模式,以及容器之间的连接关系。 3. Volumes 部分:这里定义了容器中的数据卷。可以将 StackStorm 需要的数据持久化保存到宿主机上的指定目录,以便容器重启后能够恢复数据。 通过编写 stackstorm docker-compose.yaml 文件,并使用 Docker Compose 工具进行部署,可以快速搭建 StackStorm 环境,并保证该环境的可复制性和可移植性。同时,使用 Docker Compose 也方便了 StackStorm 的管理和维护工作,简化了容器之间的依赖关系管理。 ### 回答3: StackStorm是一个开源的自动化平台,它允许用户将不同的任务组织成工作流,并通过事件触发来自动化执行。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。 在StackStorm中使用Docker Compose,可以帮助我们更方便地部署和管理StackStorm的相关容器和服务。通过编写docker-compose.yaml文件,我们可以定义StackStorm容器的配置和依赖关系。 Docker Compose使用一种声明性的语法来定义应用程序的配置。在docker-compose.yaml文件中,我们可以指定StackStorm容器的镜像、环境变量、端口映射等配置。我们还可以定义其他依赖容器,例如数据库容器,用于支持StackStorm的运行。 以下是一个示例的docker-compose.yaml文件的片段: ``` version: '3.8' services: stackstorm: image: stackstorm/stackstorm:3.3.0 ports: - 443:443 - 80:80 environment: - ST2_VERSION=3.3.0 - ST2_AUTH_USERNAME=admin - ST2_AUTH_PASSWORD=MyPassword depends_on: - postgres postgres: image: postgres:12 environment: - POSTGRES_USER=stackstorm - POSTGRES_PASSWORD=stackstorm ``` 在这个示例中,我们定义了两个服务:stackstorm和postgres。stackstorm服务使用了stackstorm/stackstorm:3.3.0镜像,将443端口和80端口映射到宿主机。我们还指定了一些环境变量,用于配置StackStorm的版本和管理员账号密码。在depends_on部分,我们指定了stackstorm服务依赖于postgres服务。 通过运行docker-compose up命令,Docker Compose将会根据docker-compose.yaml文件创建并启动相应的容器。这样,我们就能够方便地使用Docker Compose来部署和管理StackStorm的相关容器和服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值