任务域

任务域有助于支持任务开发。这个想法是相同的“任务定义”可以在不同的“域”中实现。域名开发人员控制的任意名称。因此,当工作流程启动时,调用者可以在工作流中的所有任务中指定哪些任务需要在特定域中运行,然后该域用于轮询客户端上的任务以执行它。

作为一个例子,如果工作流(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任务域的更多相关文章

  1. Ajax及跨域

    概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...

  2. 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

    一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...

  3. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  4. Windows2012R2备用域控搭建

    Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自己的ip,备dns:备域控的ip备域控的主dns:自己的ip,备dns:主域控的ip 客户端主dns:主域控的ip,备dns: ...

  5. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  6. ASP.NET Web API 跨域访问(CORS)

    一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...

  7. 解决cookie跨域访问

    一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...

  8. 关于python的bottle框架跨域请求报错问题的处理

    在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200.url直接在浏览器访问也是正常的,浏览器按F12 ...

  9. 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter

    v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...

随机推荐

  1. 【数据库】Eclipse连接MySQL数据库

    我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/detail/paulwin ...

  2. WPF Demo4

    <Window x:Class="Demo4.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/ ...

  3. win7一键拖动生成快速启动栏

    一键拖动生成快速启动工具栏 ^#x:: ;自动添加快速启动工具栏 if had_added() ExitApp ql_add() Sleep, if (is_locked()) { lock_unlo ...

  4. R语言学习——欧拉计划(1)Multiples of 3 and 5

    [题目一]If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. ...

  5. sklearn 线性模型使用入门

    LinearRegression fits a linear model with coefficients  to minimize the residual sum of squares betw ...

  6. 阿里云EC2+QEMU虚拟机+ROS完全教程!

    ---恢复内容开始--- 1.安装centos6.5 x64 同时记录,当前centos分配得到的IP,子网掩码,网关,以及MAC!!! 查看IP.mac命令ip add 查看网关命令cat /etc ...

  7. PLSQL导出表结构

    1:进行plsql后选怎Tools--------->Exports User Ojbects------------->选中需要导出的table,squence,view,type,fu ...

  8. Storm集成Kafka的Trident实现

      原本打算将storm直接与flume直连,发现相应组件支持比较弱,topology任务对应的supervisor也不一定在哪个节点上,只能采用统一的分布式消息服务Kafka.   原本打算将结构设 ...

  9. numpy的linspace函数

    numpy.linspace(start, stop, num=50, endpoint=True, retstep=False,dtype=None)[source] 文档:https://docs ...

  10. python中的logger模块详细讲解

    logger 提供了应用程序可以直接使用的接口handler将(logger创建的)日志记录发送到合适的目的输出filter提供了细度设备来决定输出哪条日志记录formatter决定日志记录的最终输出 ...