conductor任务域
任务域
任务域有助于支持任务开发。这个想法是相同的“任务定义”可以在不同的“域”中实现。域名开发人员控制的任意名称。因此,当工作流程启动时,调用者可以在工作流中的所有任务中指定哪些任务需要在特定域中运行,然后该域用于轮询客户端上的任务以执行它。
作为一个例子,如果工作流(WF1)有3个任务T1,T2,T3。工作流部署并正常工作,这意味着有T2工作人员轮询和执行。如果您修改T2并在本地运行,则不能保证您的修改后的T2工作人员可以从普通T2队列中获取正在查找的任务。“任务域”功能通过按域分割T2队列来解决此问题,因此当应用程序轮询特定域中的任务T2时,它将获得正确的任务。
启动工作流时,可以将多个域指定为“back”,例如“domain1,domain2”。导体跟踪每个任务的最后轮询时间,因此在这种情况下,它会检查“domain1”是否有活动的工作人员,然后任务被放入“domain1”,如果没有,则对下一个域进行相同的检查按顺序“domain2”等。如果没有工作人员处于活动状态,那么该任务的计划没有域(默认行为)。请注意,这种“回退”类型的域字符串只能在启动工作流时使用,当从客户端轮询时,只能使用一个域。
如何使用任务域
更改轮询呼叫
轮询调用现在必须指定域。
Java客户端
如果您使用的是Java客户端,那么简单的属性更改将强制WorkflowTaskCoordinator将该域传递给该轮询器。
conductor.worker.T2.domain=mydomain //Task T2 needs to poll for domain "mydomain"
REST调用
GET /tasks/poll/batch/T2?workerid=myworker&domain=mydomain
GET /tasks/poll/T2?workerid=myworker&domain=mydomain
更改启动工作流调用
启动工作流程时,请确保通过域映射任务
Java客户端
Map<String, Object> input = new HashMap<>();
input.put("wf_input1", "one”);
Map<String, String> taskToDomain = new HashMap<>();
taskToDomain.put("T2", "mydomain");
// Other options ...
// taskToDomain.put("*", "mydomain") will put all tasks in mydomain
// taskToDomain.put("T2", "mydomain,fallbackDomain") If mydomain has no active workers
// for T2 then will be put in fallbackDomain. Same can be used with "*" too.
StartWorkflowRequest swr = new StartWorkflowRequest();
swr.withName(“myWorkflow”)
.withCorrelationId(“corr1”)
.withVersion(1)
.withInput(input)
.withTaskToDomain(taskToDomain);
wfclient.startWorkflow(swr);
REST调用
POST /workflow
{
"name": "myWorkflow",
"version": 1,
"correlatonId": "corr1"
"input": {
"wf_input1": "one"
},
"taskToDomain": {
"T2": "mydomain"
}
}
conductor任务域的更多相关文章
- Ajax及跨域
概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...
- 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域
一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- Windows2012R2备用域控搭建
Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自己的ip,备dns:备域控的ip备域控的主dns:自己的ip,备dns:主域控的ip 客户端主dns:主域控的ip,备dns: ...
- Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)
背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...
- ASP.NET Web API 跨域访问(CORS)
一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...
- 解决cookie跨域访问
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...
- 关于python的bottle框架跨域请求报错问题的处理
在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200.url直接在浏览器访问也是正常的,浏览器按F12 ...
- 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter
v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...
随机推荐
- Kibana 基础入门
原文地址:Kibana 基础入门 博客地址:http://www.extlight.com 一.前言 Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作.Kibana ...
- LwIP:处理链路状态改变
[文/告别年代 Email:byeyear@hotmail.com] 重大修订记录 ----------------------------------------- 2016.11.03 感谢@ ...
- chrome从版本55开始,不再支持设置网页内容编码
Hi Everyone, Chrome 55 has removed the Encoding menu and Chrome will do auto-encoding detection no ...
- C++中,关于#include<***.h>和#include"***.h"的区别
转载:天南韩立CSDN博客 #include<>直接从编译器自带的函数库中寻找文件 #include" "是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件 采用 ...
- [转]生成 Excel.dll
来自:http://bbs.csdn.net/topics/330137762 默认的情况下microsoft excel 11.0 object library对象是一个.exe文件,所以我们需要利 ...
- Centos7安装docker(转!)
时间在自己的运动中也会碰到挫折,遇到障碍,所以某一段时间也会滞留在哪一个房间里 <百年孤独> 转自:https://www.cnblogs.com/yufeng218/p/8370670. ...
- CentOS所有版本下载地址分享
简述 CentOS(Community Enterprise Operating System - 社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux ...
- Mybatis 测试延迟加载
在学习mybatis的延迟加载时,对 lazyLoadingEnabled 和 aggressiveLazyLoading 的区别并不理解,特别是对查询的条件不同时,执行的查询语句也不一样,所以还是测 ...
- 并发基础(三) java线程优先级
在不同的JVM中(JVM也算是一个操作系统),有着不同的CPU调度算法,对于大部分的JVM来说,优先级也是调度算法中的一个参数.所以,线程优先级在一定程度上,对线程的调度执行顺序有所影响,但不能用 ...
- CSS层叠样式
为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表.有了CSS,html中大部 ...