conductor APIs
任务和工作流元数据
| 端点 | 描述 | 输入 |
|---|---|---|
GET /metadata/taskdefs |
获取所有任务定义 | N / A |
GET /metadata/taskdefs/{taskType} |
检索任务定义 | 任务名称 |
POST /metadata/taskdefs |
注册新任务定义 | 任务清单清单 |
PUT /metadata/taskdefs |
更新任务定义 | 一个任务定义 |
DELETE /metadata/taskdefs/{taskType} |
删除任务定义 | 任务名称 |
GET /metadata/workflow |
获取所有工作流定义 | N / A |
POST /metadata/workflow |
注册新工作流程 | 工作流定义 |
PUT /metadata/workflow |
注册/更新新工作流程 | 工作流定义列表 |
GET /metadata/workflow/{name}?version= |
获取工作流定义 | 工作流名称,版本(可选) |
启动一个工作流
仅使用输入
POST /workflow/{name}?version=&correlationId=
{
//JSON payload for workflow
}
| 参数 | 描述 |
|---|---|
| 版 | 可选的。如果未指定使用最新版本的工作流程 |
| 的correlationID | 用户提供的可用于检索工作流的Id |
输入
JSON有效载荷启动工作流。强制性。如果工作流不期望任何输入必须传递一个空的JSON{}
产量
工作流ID(GUID)
使用输入和任务域
POST /workflow
{
//JSON payload for Start workflow request
}
启动工作流程请求
JSON用于启动工作流请求
{
"name": "myWorkflow", // Name of the workflow
"version": 1, // Version
“correlatond”: “corr1” // correlation Id
"input": {
// Input map.
},
"taskToDomain": {
// Task to domain map
}
}
产量
工作流ID(GUID)
检索工作流程
| 端点 | 描述 |
|---|---|
GET /workflow/{workflowId}?includeTasks=true|false |
通过工作流标识获取工作流状态。如果设置了includeTasks,那么还包括执行和调度的所有任务。 |
GET /workflow/running/{name} |
获取给定类型的所有正在运行的工作流 |
GET /workflow/running/{name}/correlated/{correlationId}?includeClosed=true|false&includeTasks=true|false |
获取所有正在运行的关联标识过滤的工作流。如果includeClosed被设置,还包括完成运行的工作流。 |
GET /workflow/search |
搜索工作流。见下文。 |
搜索工作流程
指挥机构使用Elasticsearch对工作流执行进行索引,并被搜索API使用。
GET /workflow/search?start=&size=&sort=&freeText=&query=
| 参数 | 描述 |
|---|---|
| 开始 | 页码。默认为0 |
| 尺寸 | 要返回的结果数 |
| 分类 | 排序。格式是:ASC:<fieldname>或DESC:<fieldname>按字段按升序或降序排序 |
| FREETEXT | Elasticsearch支持查询。例如workflowType:“name_of_workflow” |
| 询问 | SQL like where子句。例如workflowType ='name_of_workflow'。如果提供了freeText,则为可选项。 |
产量
搜索结果如下所示:
{
"totalHits": 0,
"results": [
{
"workflowType": "string",
"version": 0,
"workflowId": "string",
"correlationId": "string",
"startTime": "string",
"updateTime": "string",
"endTime": "string",
"status": "RUNNING",
"input": "string",
"output": "string",
"reasonForIncompletion": "string",
"executionTime": 0,
"event": "string"
}
]
}
管理工作流程
| 端点 | 描述 |
|---|---|
PUT /workflow/{workflowId}/pause |
暂停。将不再安排进一步的工作,直到恢复。当前正在运行的任务不会暂停。 |
PUT /workflow/{workflowId}/resume |
暂停后恢复正常操作。 |
POST /workflow/{workflowId}/rerun |
见下文。 |
POST /workflow/{workflowId}/restart |
从一开始重新启动工作流执行。当前执行历史被擦除。 |
POST /workflow/{workflowId}/retry |
重试最后一个失败的任务。 |
PUT /workflow/{workflowId}/skiptask/{taskReferenceName} |
见下文。 |
DELETE /workflow/{workflowId} |
终止正在运行的工作流。 |
DELETE /workflow/{workflowId}/remove |
从系统中删除工作流。谨慎使用。 |
重新运行
从特定任务重新运行完成的工作流。
POST /workflow/{workflowId}/rerun
{
"reRunFromWorkflowId": "string",
"workflowInput": {},
"reRunFromTaskId": "string",
"taskInput": {}
}
跳过任务
taskReferenceName在运行的工作流程中跳过任务执行(指定为参数),并继续前进。可选地更新任务的输入和输出,如有效载荷中指定的。 PUT /workflow/{workflowId}/skiptask/{taskReferenceName}?workflowId=&taskReferenceName=
{
"taskInput": {},
"taskOutput": {}
}
管理任务
| 端点 | 描述 |
|---|---|
GET /tasks/{taskId} |
获取任务详情。 |
GET /tasks/queue/all |
列出待处理的任务大小。 |
GET /tasks/queue/all/verbose |
与上述相同,包括每个分片的大小 |
GET /tasks/queue/sizes?taskType=&taskType=&taskType |
返回给定任务类型的待处理任务的大小 |
轮询,确认和更新任务
这些是用于轮询任务的关键端点,发送ack(轮询后),最后由工作人员更新任务结果。
| 端点 | 描述 |
|---|---|
GET /tasks/poll/{taskType}?workerid=&domain= |
投票任务 workerid标识为作业轮询的工作者,并domain允许轮询器轮询特定域中的任务 |
GET /tasks/poll/batch/{taskType}?count=&timeout=&workerid=&domain |
对由指定的批次中的任务进行轮询count。这是一个长时间的轮询,连接将等到timeout或至少有1个可用项目(以较先者为准)。workerid标识为作业轮询的工作者,并domain允许轮询器轮询特定域中的任务 |
POST /tasks |
更新任务执行的结果。请参阅下面的模式。 |
POST /tasks/{taskId}/ack |
承认工作人员投票后收到的任务。 |
更新任务结果的模式
{
"workflowInstanceId": "Workflow Instance Id",
"taskId": "ID of the task to be updated",
"reasonForIncompletion" : "If failed, reason for failure",
"callbackAfterSeconds": 0,
"status": "IN_PROGRESS|FAILED|COMPLETED",
"outputData": {
//JSON document representing Task execution output
}
}
轮询后承认任务
如果工作人员在轮询后无法确认任务,则重新排队任务并将其放回队列中,并在后续轮询中可用。
获取running的workflow
curl -X GET --header 'Accept: application/json' 'http://192.168.9.137:8080/api/workflow/running/<name>?version=1'
终止workflow
curl -X DELETE --header 'Accept: application/json' 'http://192.168.9.137:8080/api/workflow/<workflowId>'
启动workflow
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' -d '{}' 'http://localhost:8080/api/workflow/<name>'
conductor APIs的更多相关文章
- (转载)构建public APIs与CORS
from: https://segmentfault.com/a/1190000000709909 理由:在操作层面详细的讲解了跨域的操作.尤其是对于option请求的详解.收藏. 在构建Public ...
- ECMAScript Web APIs node.js
https://hacks.mozilla.org/2015/04/es6-in-depth-an-introduction/ What falls under the scope of ECMASc ...
- 【墙内备份】Android 6.0 APIs
Android 6.0 APIs In this documentSHOW MORE Fingerprint Authentication Confirm Credential App Linking ...
- netflix:Conductor微服务编排引擎
项目地址: https://github.com/Netflix/conductor Conductor 是 Netflix 受需要运行全球流媒体业务流程的启发,构建的基于云的微服务编排引擎. Con ...
- swagger:The World's Most Popular Framework for APIs.
swagger官网:http://swagger.io/ swagger ui demo:http://petstore.swagger.io 让API文档总是与API定义同步更新,是一件非常有价值的 ...
- [译]Node.js : Building RESTful APIs using Loopback and MySQL
国庆后可能就要使用StrongLoop那套东西来做项目了 原文:http://www.javabeat.net/loopback-mysql/ Loopback是什么? Loopback是一个开源的N ...
- URLRedirector 解决网页上无法访问 google CDN 的问题(fonts、ajax、themes、apis等)
URLRedirector 解决网页上无法访问 google CDN 的问题(fonts.ajax.themes.apis等) 由于某些原因,在访问国外的网站时有时候会特别慢,像 stackoverf ...
- 谷歌正式发布Google APIs Client Library for .NET
好消息,特大好消息! 英文原文:Google API library for .NET paves the way for Google services on Windows phone 本月 17 ...
- POSTMAN and HTTPie to test APIs
http://blog.mashape.com/postman-httpie-test-apis/ We love working with APIs at Mashape, and we love ...
随机推荐
- 用exec调用带有output输出参数的存储过程
用exec调用带有output输出参数的存储过程,想要得到输出参数的值,必须在调用参数后面加output关键字,如: declare @value int exec up_test 2,3,@v ...
- Letterbox,Pillarbox和Pan&Scan
Auto 不改变窗口设置16:9 PillarBox: 4:3的图像,在16:9的显示屏上显示时,上下到顶,左右会添加黑边. 16:9 Pan&Scan 4:3的图像,在16:9的显示屏上显示 ...
- 6.后台验证码-session作用域
首先要有生成验证码图片和验证码文字的逻辑 package cn.bingou.util; import java.awt.Color; import java.awt.Font; import jav ...
- 6-3-3ios自动化-数据驱动
https://testerhome.com/topics/14247 #!/usr/bin/env python3 # coding:utf-8 from appium import webdriv ...
- SIP 认证方式
SIP认证是继承了HTTP的认证方式.HTTP的认证方案主要有Basic Authentication Scheme和Digest Access Authentication Scheme两种.而Ba ...
- django中视图处理请求方式(FBV、CBV)
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base v ...
- 显式锁(三)读写锁ReadWriteLock
前言: 上一篇文章,已经很详细地介绍了 显式锁Lock 以及 其常用的实现方式- - ReetrantLock(重入锁),本文将介绍另一种显式锁 - - 读写锁ReadWriteLock. ...
- 地址解析协议ARP(Address Resolution Protocol)
1.引言 说明: ARP的作用,解决了什么问题: 以太网中的链路层,可能会采用不同的网络技术,而且不以ip作为路由依据. 链路层以mac地址作为路由依据. ARP的功能是在32 bit的IP地址和采用 ...
- C关键字typedef及argc,argv,env参数含义
C关键字typedef--为C中各种数据类型定义别名. 在此插一点C知识 int main(int argc,const char *argv[],const char *envp[])主函数的红色部 ...
- 0_Simple__UnifiedMemoryStreams
使用 OpenMP 和 pthreads 两种环境,利用实现统一内存编址,计算基本的矩阵乘法 result = α * A * x + β * result . ▶ 源代码 #include < ...