任务域

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

作为一个例子,如果工作流(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" } } 

转载于:https://www.cnblogs.com/mhc-fly/p/7011540.html

conductor任务域相关推荐

  1. RFC2616中文版

    转自:https://www.cnblogs.com/k1988/archive/2010/01/12/2165683.html 本备忘录的状态本文件规定了互联网社区的互联网标准跟踪协议,并要求对改进 ...

  2. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  3. kotlin设置CORS跨域资源共享,java设置允许跨域,服务端如何设置 springboot中设置跨域资源共享

    CORS通信过程,都是浏览器或http插件自动完成,不需要 用户/开发人员 参与.对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码是完全一样的.浏览器一旦发现AJAX请求跨源,就会自动添 ...

  4. 三层交换机原理:01路由器如何隔离广播域?

    前言: 当网络规模较大的时候,需要设备来隔离广播域,防止网络中因产生广播风暴而导致网络效率降低,而二层交换机不能隔离广播域,所以需要三层路由器设备来隔离广播域! 但三层路由器为什么能够隔离广播域,是如 ...

  5. 无监督域对抗算法:ICCV2019论文解析

    无监督域对抗算法:ICCV2019论文解析 Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adapta ...

  6. CVPR2019目标检测论文看点:并域上的广义交

    CVPR2019目标检测论文看点:并域上的广义交 Generalized Intersection over Union Generalized Intersection over Union: A ...

  7. 关于上传文件的跨域问题

    在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文 ...

  8. 170222、使用Spring Session和Redis解决分布式Session跨域共享问题

    使用Spring Session和Redis解决分布式Session跨域共享问题 原创 2017-02-27 徐刘根 Java后端技术 前言 对于分布式使用Nginx+Tomcat实现负载均衡,最常用 ...

  9. angularjs post 跨域

    web api搞好了:用Ajax妥妥的:但是前端用的AngulagJS,也懒得再换为Ajax了: 但是问题来了:提示: 已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/a ...

最新文章

  1. C++条件变量使用详解
  2. Linux下GCC与G++的区别和联系
  3. 前端开发100元/页,空心科技切入IT人才共享
  4. 1.21 Lambda表达式
  5. JAVA struts2
  6. 开发者必备Linux命令
  7. 谈谈 Linux 假死现象
  8. Linux命令整理-Ubuntu
  9. 分布式文件系统FastDFS看这一篇就够了(文件上传下载、单机部署及集群部署)
  10. qt 字体 qss加载字体_字体加载技术
  11. 如何解压bz2后缀的压缩文件
  12. Ubuntu 截图编辑_编辑截图工具
  13. Win32编程之基于MATLAB与VC交互的幻方阵(魔方阵)输出
  14. 解决react antd design pro 二级图标不显示问题(v4版本)
  15. 3DMAX建模入门:美国队长的盾牌图文教程,过程炒鸡详细(下)
  16. 【DSP】【第一篇】开始DSP学习
  17. php怎么设置段落之间的距离,html中P标签段落与CSS段落间距距离调整
  18. php redis序列化,php session之存储在redis的方法
  19. 关于return返回
  20. 医美面膜商城小程序开发,助力企业数字化转型

热门文章

  1. linux中fork和exec
  2. 详解C++代码反汇编后的堆栈寄存器EBP和ESP
  3. sublime配置c++环境
  4. HUD - 4463 Outlets
  5. 二叉树的最长的路径长度最大路径和
  6. C++三五法则,看看你能不能理解(推荐)
  7. const_iterator简单介绍
  8. linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则?
  9. Ubuntu19.04安装mysql8.0版本(亲测OK)
  10. 博途上载hmi程序_西门子HMI触摸屏(精智面板)恢复出厂设置方法