由远程worker执行的conductor任务通过HTTP端点进行通信以轮询任务并更新执行状态。

conductor提供了轮询任务的框架,管理执行线程并将执行状态更新回服务器。该框架提供了Java和Python中的库。可以通过使用用于任务管理的HTTP端点来添加其他语言支持。

Java

  1. 实现Worker接口来实现任务。https://github.com/Netflix/conductor/blob/dev/client/src/main/java/com/netflix/conductor/client/worker/Worker.java
  2. 使用WorkflowTaskCoordinator注册工作人员并初始化轮询循环。 https://github.com/Netflix/conductor/blob/dev/client/src/main/java/com/netflix/conductor/client/task/WorkflowTaskCoordinator.java

  • 示范worker实施   https://github.com/Netflix/conductor/blob/dev/client/src/test/java/com/netflix/conductor/client/sample/SampleWorker.java
  • 例  https://github.com/Netflix/conductor/blob/dev/client/src/test/java/com/netflix/conductor/client/sample/Main.java

WorkflowTaskCoordinator

管理任务工作线程池和服务器通信(轮询,任务更新和确认)。

worker

属性 描述
paused 布尔值。如果设置为true,则worker停止轮询。
pollCount poll的任务数量。用于批量轮询。每个任务在单独的线程中执行。
longPollTimeout 以毫秒为单位的长时间轮询指定服务器的任务时间

这些属性可以由Worker实现或通过在JVM中设置以下系统属性设置:

conductor.worker.<property> 适用于JVM中的所有worker
conductor.worker.<taskDefName>.<property> 适用于指定的worker。覆盖全局属性。

Python

https://github.com/Netflix/conductor/tree/dev/client/python

按照自述中记录的示例进行操作,或查看kitchensink_workers.py

https://github.com/Netflix/conductor/blob/dev/client/python/kitchensink_workers.py

Conductor Task Workers的更多相关文章

  1. PHP团队 编码规范 & 代码样式风格规范

    一.基本约定 1.源文件 (1).纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> : (2).源文件中PHP代码的编码格式必须是无BOM的UTF-8格式: (3).使用 U ...

  2. storm配置项目

    java.library.path: “/usr/local/lib:/opt/local/lib:/usr/lib”### storm.* configs are general configura ...

  3. 开始使用storm

     开始使用storm 本章将讲述如何安装.部署.启动和停止 Storm 集群. Storm 的安装比较简单,但在安装 Storm 之前需要做好充足的准备,本章将介绍安装的整个流程.在官网上可以下载到S ...

  4. storm教程

    二.安装部署   一.storm伪分布式安装 (一)环境准备1.OS:debian 72.JDK 7.0 (二)安装zookeeper1.下载zookeeper并解压 wget http://mirr ...

  5. _00019 Storm架构介绍和Storm获取案例(简单的官方网站Java案例)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  6. 阿里巴巴开源的Asynchronous I/O Design and Implementation

    Motivation I/O access, for the most case, is a time-consuming process, making the TPS for single ope ...

  7. Storm默认配置 default.yaml

    default.yaml文件所在位置:apache-storm-0.9.4.tar.gz/apache-storm-0.9.4/lib/storm-core-0.94.jar/default.yaml ...

  8. Storm处理流程, 基本参数配置

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAksAAAG/CAYAAABIVpOQAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  9. 数学之路-分布式计算-storm(3)

    .安装zookeeper 本博客全部内容是原创.假设转载请注明来源 http://blog.csdn.net/myhaspl/ myhaspl@aaayun:~/jzmq-master$cd .. m ...

随机推荐

  1. html5 progress样式修改

    CSS代码: .deal progress { -webkit-appearance: none; } .deal ::-webkit-progress-inner-element { } .deal ...

  2. Jira 迁移工作

    JIRA: 1.直接同步应用服务: rsync -aSvHz --progress --delete atlassian root@192.168.1.243:/opt/atlassian 2. 同步 ...

  3. 从Tomcat无法正常关闭讲讲Java线程关闭问题【转载】

    正常情况下,会优先采用catalina.sh stop来停止Tomcat实例,这样可以让服务有机会处理完请求,并做好善后工作. 但如果通过catalina.sh stop命令无法关闭Tomcat实例, ...

  4. Mac parallels desktop安装windows,linux

    前言 这款软件你就看作是虚拟机vm,如果你要安装win10系统,请下载ios镜像文件 下载准备工作 Parallels Desktop 13 破解版本 联系站长所要 win10 iso镜像文件    ...

  5. unity3d动态加载dll的API以及限制

    Unity3D的坑系列:动态加载dll 一.使用限制 现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Androi ...

  6. 在ubuntu中如何向U盘复制粘贴文件 Read-only file system

    1.  重新挂载被操作分区的读写权限,如U盘 $ sudo mount -o remount,rw /media/lenmom/00093FA700017B96 #U盘挂载目录,如果是系统中的其他盘, ...

  7. react 中state与props

    react 中state与props 1.state与props props是只读属性,只有在组件被实例化的时候可以赋值,之后的任何时候都无法改变该值.如果试图修改该值时,控制台会报错 only re ...

  8. express有中间件的增删改查

    var express = require('express');引入express框架 var router = express.Router();引入router路由级中间件 var data = ...

  9. 转载 深入理解java类加载器

    1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载.Java的类加载机制是技术体系中比较核心的 ...

  10. [Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas sword: NO) (SQL: select * from information_schema.tables where table_schema = la

    [Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost ...