conductor任务域
任務(wù)域
任務(wù)域有助于支持任務(wù)開(kāi)發(fā)。這個(gè)想法是相同的“任務(wù)定義”可以在不同的“域”中實(shí)現(xiàn)。域名開(kāi)發(fā)人員控制的任意名稱(chēng)。因此,當(dāng)工作流程啟動(dòng)時(shí),調(diào)用者可以在工作流中的所有任務(wù)中指定哪些任務(wù)需要在特定域中運(yùn)行,然后該域用于輪詢(xún)客戶(hù)端上的任務(wù)以執(zhí)行它。
作為一個(gè)例子,如果工作流(WF1)有3個(gè)任務(wù)T1,T2,T3。工作流部署并正常工作,這意味著有T2工作人員輪詢(xún)和執(zhí)行。如果您修改T2并在本地運(yùn)行,則不能保證您的修改后的T2工作人員可以從普通T2隊(duì)列中獲取正在查找的任務(wù)。“任務(wù)域”功能通過(guò)按域分割T2隊(duì)列來(lái)解決此問(wèn)題,因此當(dāng)應(yīng)用程序輪詢(xún)特定域中的任務(wù)T2時(shí),它將獲得正確的任務(wù)。
啟動(dòng)工作流時(shí),可以將多個(gè)域指定為“back”,例如“domain1,domain2”。導(dǎo)體跟蹤每個(gè)任務(wù)的最后輪詢(xún)時(shí)間,因此在這種情況下,它會(huì)檢查“domain1”是否有活動(dòng)的工作人員,然后任務(wù)被放入“domain1”,如果沒(méi)有,則對(duì)下一個(gè)域進(jìn)行相同的檢查按順序“domain2”等。如果沒(méi)有工作人員處于活動(dòng)狀態(tài),那么該任務(wù)的計(jì)劃沒(méi)有域(默認(rèn)行為)。請(qǐng)注意,這種“回退”類(lèi)型的域字符串只能在啟動(dòng)工作流時(shí)使用,當(dāng)從客戶(hù)端輪詢(xún)時(shí),只能使用一個(gè)域。
如何使用任務(wù)域
更改輪詢(xún)呼叫
輪詢(xún)調(diào)用現(xiàn)在必須指定域。
Java客戶(hù)端
如果您使用的是Java客戶(hù)端,那么簡(jiǎn)單的屬性更改將強(qiáng)制WorkflowTaskCoordinator將該域傳遞給該輪詢(xún)器。
conductor.worker.T2.domain=mydomain //Task T2 needs to poll for domain "mydomain"REST調(diào)用
GET /tasks/poll/batch/T2?workerid=myworker&domain=mydomain?GET /tasks/poll/T2?workerid=myworker&domain=mydomain
更改啟動(dòng)工作流調(diào)用
啟動(dòng)工作流程時(shí),請(qǐng)確保通過(guò)域映射任務(wù)
Java客戶(hù)端
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調(diào)用
POST /workflow
{"name": "myWorkflow","version": 1, "correlatonId": "corr1" "input": { "wf_input1": "one" }, "taskToDomain": { "T2": "mydomain" } }?
轉(zhuǎn)載于:https://www.cnblogs.com/mhc-fly/p/7011540.html
總結(jié)
以上是生活随笔為你收集整理的conductor任务域的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: python中的构造函数和构造函数和析构
- 下一篇: Objective-C method及相
