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
    }

}

轮询后承认任务

如果工作人员在轮询后无法确认任务,则重新排队任务并将其放回队列中,并在后续轮询中可用。

时间: 2024-12-28 20:59:13

conductor APIs的相关文章

Conductor Task Workers

由远程worker执行的conductor任务通过HTTP端点进行通信以轮询任务并更新执行状态. conductor提供了轮询任务的框架,管理执行线程并将执行状态更新回服务器.该框架提供了Java和Python中的库.可以通过使用用于任务管理的HTTP端点来添加其他语言支持. Java 实现Worker接口来实现任务.https://github.com/Netflix/conductor/blob/dev/client/src/main/java/com/netflix/conductor/c

Kernel logging: APIs and implementation

Kernel API Logging within the kernel is performed using the printk function int printk( const char * fmt, ... ); The kernel code simply defines the log level as the first argument of the message, as illustrated in the following example for a critical

[Node.js] Creating Demo APIs with json-server

json-server makes it extremely easy to setup robust JSON apis to use for demos and proof of concepts. John walks you through the process of using pre-built json files for a server and how to generate larger datasets using lodash and faker. Install: n

APPCORE Routine APIs

Introduction to APPCORE Routine APIs This chapter provides you with specifications for calling many Oracle E-Business Suite APIs from your PL/SQL procedures. Most routines in the APPCORE library are described here. Some APPCORE routines are described

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 Windows Phone

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 Windows Phone 和.NET托管代码和JavaScript CSOMs一样,CSOM库对于Windows Phone和Silverlight同样可用.

用Flask 搭建RESTful APIs 服务器端

此文摘录自: http://www.cnblogs.com/vovlie/p/4178077.html 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务. REST的六个特性: Client-Server:服务器端与客户端分离. Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的. Cacheable(

Oracle Inventory Management Application Program Interface ( APIs) (Doc ID 729998.1)

In this Document Goal Solution References APPLIES TO: Oracle Inventory Management - Version 12.0.0 and later Information in this document applies to any platform. This document includes all versions R12.x.x and later. ***Checked for relevance on 22-O

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 REST和ODATA

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 REST和ODATA REpresentational State Transfer (REST)是设计通过Internet网络简单消费数据的普遍模式.

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 客户端对象模型API范围

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 客户端对象模型API范围 本章之前提到过,客户端对象模型应用中一个不足就是缺乏对SP APIs和访问功能的支持不足.