conductor 事件处理程序
Introduction
conductor中的事件提供工作流之间的松散耦合,并支持从外部系统生成和消耗事件。
包括:
1. 能够在外部系统像SQS或Conductor内部生成一个事件(消息)。
2. 当发生与提供的条件匹配的特定事件时启动工作流。
conductor提供了SUB_WORKFLOW任务,可用于将工作流嵌入到父工作流程中。 事件支持提供类似的功能,而无需显式添加依赖关系,并提供了一个无休止的风格集成。
Event Task
事件任务提供将事件(消息)发布到conductor或外部事件系统(如SQS)的能力。 事件任务对于为工作流和任务创建基于事件的依赖非常有用。
Event Handler
事件处理程序是已注册的监听器,当发生匹配事件时执行一个操作。 支持的操作是:
- Start a Workflow
- Fail a Task
- Complete a Task
事件处理程序可以配置为监听Conductor Events或外部事件(如SQS)。
Configuration
事件处理程序通过/ event / API配置。
结构:
{
条件:
"name" : "descriptive unique name",
"event": "event_type:event_location",
"condition": "boolean condition",
"actions": ["see examples below"]
}
条件是必须评估为一个布尔值的表达式。 支持类似JavaScript的语法,可用于基于有效载荷评估条件。 只有当条件求值为true时才执行操作。 给定消息中的以下有效内容:
{
表达式:
"fileType": "AUDIO",
"version": 3,
"metadata": {
length: 300,
codec: "aac"
}
}$.version > 1
true$.version > 10
false$.metadata.length == 300
true 操作
Start A Workflow
{
"action": "start_workflow",
"start_workflow": {
"name": "WORKFLOW_NAME",
"version": <optional>
"input": {
"param1": "${param1}"
}
}
}
Complete Task*
{
"action": "complete_task",
"complete_task": {
"workflowId": "${source.externalId.workflowId}",
"taskRefName": "task_1",
"output": {
"response": "${source.result}"
}
},
"expandInlineJSON": true
}
Fail Task*
{
"action": "fail_task",
"fail_task": {
"workflowId": "${source.externalId.workflowId}",
"taskRefName": "task_1",
"output": {
"response": "${source.result}"
}
},
"expandInlineJSON": true
}
启动工作流的输入和完成/失败任务的输出 遵循用于引导工作流输入的相同表达式。
conductor 事件处理程序的更多相关文章
- KnockoutJS 3.X API 第七章 其他技术(5) 使用其他事件处理程序
在大多数情况下,数据绑定属性提供了一种干净和简洁的方式来绑定到视图模型. 然而,事件处理是一个常常会导致详细数据绑定属性的领域,因为匿名函数通常是传递参数的推荐技术. 例如: <a href=& ...
- 深入理解DOM事件机制系列第二篇——事件处理程序
× 目录 [1]HTML [2]DOM0级 [3]DOM2级[4]IE[5]总结 前面的话 事件处理程序又叫事件侦听器,实际上就是事件的绑定函数.事件发生时会执行函数中相应代码.事件处理程序有HTML ...
- JavaScript事件对象与事件处理程序
在学习之前建议请看一下事件流.事件冒泡.事件捕获 一.事件对象 事件对象:在DOM触发事件时,会产生一个事件对象event,这个事件对象包含着所有与事件相关的信息.既然event是事件对象,那么它必然 ...
- JS事件-事件处理程序-笔记总结ing...
html事件处理程序:缺点-行为与结构耦合<input type="button" onclick = "diaoyong();"> dom0级事件 ...
- JavaScript事件处理程序
JavaScript中的事件处理程序主要分为3种: HTML事件处理程序: <script type="text/javascript"> // HTML事件处理程序 ...
- JS:事件处理程序
在JQuery中有个toggle事件,可以绑定两个或多个函数,可以轮流相应click事件,这两天学习到原来javascript中有两个方法(也可以说是四个)同样可以实现这个功能. #box{ marg ...
- js 事件处理程序 事件对象
事件:用户或浏览器自身执行的动作: 事件处理程序:响应某个事件的函数: 事件流:从页面中接收事件的顺序. 1.DOM事件流 "DOM2级事件"规定的事件流包括三个阶段:事件捕获阶段 ...
- javaScript事件(二)事件处理程序
一.事件 二.事件流 以上内容见:javaScript事件(一)事件流 三.事件处理程序 前面提到,事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字.响应 ...
- JavaScript:关于事件处理程序何时可以直接访问元素的属性
指定在元素的的事件处理程序中指定 <input type="button" value="click me" onclick="alert(th ...
随机推荐
- <<精通正在表达式>> 书评
IT产业新技术日新月异,令人目不暇给,然而在这其中,真正称得上伟大东西的却寥寥无几.1998年,被誉为“软件世界的爱迪生”,发明了BSD. TCP/IP.csh.vi和NFS的SUN首席科学家Bil ...
- vue 感觉很好的渲染模式
<ul v-if="todos.length"> <li v-for="todo in todos"> {{ todo }} </ ...
- java web程序 jdbc连接数据库错误排查方法
学习jsp.我遇到了麻烦,我总是看不懂500错误,因为每次都显示整个页面的错误,都是英文 我看不懂,后来,把他弄烦了,我也烦了,比起学习java.那个异常可以很简单的就知道.现在解决 了第一个问题,5 ...
- Spring IOC - 控制反转(依赖注入) - 配置初始化和销毁的方法
在Spring中如果某个bean在初始化之后,或销毁之前要做一些额外操作可以为该bean配置初始化和销毁的我方法,在这些方法中完成需要的功能. 实验: 通过断点调试模式,测试初始化方法和销毁方法的执行 ...
- JQuery基础(选择器、事件、DOM操作)
一.选择器 1.基本选择器 ①id选择器 ②class选择器 ③标签名选择 ④并列选择 ⑤后代选择 代码用法展示: <title></tit ...
- 1031 Hello World for U (20 分)
1031 Hello World for U (20 分) Given any string of N (≥5) characters, you are asked to form the chara ...
- javascript继承之原型链(一)
function Father() { this.fatherValue = "爸爸"; } Father.prototype.getFatherValue = function ...
- javascript的面向对象思想知识要点
获取数据类型 typeof undefined:访问某个不存在的或未经赋值的变量时就会得到一个 undefined,用typeof 获取类型,得到的也是undefined;null:它不能通过java ...
- Scrapyd发布爬虫的工具
Scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. Scrapyd-client Scrapyd- ...
- 【洛谷】P1641 [SCOI2010]生成字符串(思维+组合+逆元)
题目 传送门:QWQ 分析 不想画图. https://www.luogu.org/problemnew/solution/P1641 好神仙的题啊. 代码 // luogu-judger-enabl ...