Netflix Conductor流程系统(二):官方样例搭建
一、首先从git上检出项目
这个https://github.com/Netflix/conductor是项目的github地址,
选择SSH或者HTTPs检出,git clone git@github.com:Netflix/conductor.git(执行git命令需要先安装git)至任意位置。
二、启动本地服务
进入项目目录下,右键git bash here,执行命令cd server进入server目录,再执行../gradlew server,然后等待项目构建成功即可。注意:此处JDK版本必须为1.8否则会报错:无效的源发行版: 1.8。启动成功后会创建一个kitchen workflow样例:
此时可以打开http://localhost:8080/查看Swagger APIs。
重新打开一个git命令窗口,执行cd ui,进入ui目录,执行gulp watch等待构建成功即可。注意:需要执行gulp命令,首先需要安装node.js,并且由于框架使用了import,node.js版本必须使用8.0以上,node装好后再安装glup。顺序应该为:安装node.js->全局安装gulp->项目安装gulp。
成功后可打开http://localhost:3000查看任务相关,如下图:
运行时模型:
Conductor 遵循RPC的通讯模型,其中workers运行在与 服务器分离的应用机器上,并通过HTTP协议或者是轮询的方式来管理work队列。
1.Workers作为远程系统,通过HTTP协议(或者任意支持的RPC机制)同Conductor 服务进行通信。
2.任务队列用于为workers安排任务,Conductor使用内部的dyno-queues 作为任务队列,当然也可以使用其他SQS(简单队列)或者pub-sub机制的队列作为代替。
3.conductor-redis-persistence模块使用Dynomite作为存储引擎,以及Elasticsearch作为索引的解决方案。
4.对于存储和索引支持不同数据库。
一个新的workflow的注册和执行需要以下步骤:
1.定义这个workflow需要的task
2.创建workflow。
3.创建消费这些任务的workers并通过轮询的方式来获取任务。
4.触发工作流执行:
POST /workflow/{name}{
... //json payload as workflow input
}
5.轮询获取任务
GET /tasks/poll/batch/{taskType}
6.更新任务状态
POST /tasks{
"outputData": {
"encodeResult":"success",
"location": "http://cdn.example.com/file/location.png"
//any task specific output
},
"status": "COMPLETED"
}
Netflix Conductor流程系统(二):官方样例搭建相关推荐
- VOT-toolkit Python 版本使用教程--官方样例版
1.下载与安装 不成功的话,用以下方案: 附:如果你以这种方式,可以查看./build/lib/vot/utilities/cli.py下面的输入参数的含义. 这是vot-toolkit定义输入参数的 ...
- BlackBerry PlayBook NDK 官方样例介绍。
在PlayBook NDK环境中可以通过导入样例的方式创建新项目,所创建的项目中会包括样例的源代码和相关配置文件,开发人员可以直接进行测试,是很好的PlayBook NDK 开发入门资料.现在的样例不 ...
- 昇腾Mindstudio官方样例黑白图片上色
本应用支持运行在Atlas 200 DK上,实现了对黑白图像自动上色的功能. 黑白图像上色是利用卷积计算提取特征,然后用卷积进行分类,从而计算出每个灰度图片的色彩预期.其中处理的图片为LAB图片,L通 ...
- 信号与系统教学设计样例说明-2021春季学期
简 介: 本文通过一次课程录像对于当时的这次课程设计进行了反思与记录.主要是为了应付课程申请的内容进行整理的.这次课程的实践对于今后的工作还是具有一定的启发意义. 关键词: 信号与系统,课程设计,课后 ...
- WebRTC搭建流程(二)房间服务器搭建
房间服务器搭建 安装依赖软件和环境 (一)阿里云的源是阿里自己的镜像,不需要再修改源,安装必备软件像 git.解压.nodejs.python .go语言编译等必备的软件 cd ~ sudo apt- ...
- spark mllib lda 中文分词、主题聚合基本样例
github https://github.com/cclient/spark-lda-example spark mllib lda example 官方示例较为精简 在官方lda示例的基础上,给合 ...
- RN开发(1)__环境搭建与样例
目录 前言 正文 环境搭建 样例实现 问题整理(补充中) 相关资源链接 小结 Tip:使用"Ctrl+F",在搜索框中输入问题 前言 先要了解几个相关的词汇Node.js,Reac ...
- 运行torchAudio下的wav2vec2.0样例
torchAudio在0.10.0版本中已经兼容了hubert的代码(现在已经0.11.0了).然而,我连wav2vec2.0的代码都没跑过,官方文档也给出了一个wav2vec2.0代码的运行样例.本 ...
- mediasoup的example样例——中文文档
学习mediasoup,可以从mediasoup的官方文档中的example样例入手.官方样例 .以下是翻译. 官方文档中,共有如下8个样例,供读者进行学习. 1.versatica/mediasou ...
- Scala-Unit6-final/type关键字、样例类样例对象
一.关键字 1.final关键字 用final修饰的类:不能被继承 用final修饰的方法:不能被重写 注意:(1)在Scala中变量不需要用final修饰,因为val与var已经限制了变量是否可变 ...
最新文章
- 九、非主体机构元素——header元素、footer元素、address元素、网页编排
- 差分隐私 python_主要开发语言为 Python/Rust:微软与哈佛大学合作开源差分隐私平台...
- php内置的数组函数大全,php数组的内置函数大全
- longvalue_Java Short类longValue()方法及示例
- 拦截器、过滤器、@Aspect 区别
- STL源码剖析 数值算法 copy 算法
- 搭建内网yum服务器
- 博弈——无向图删边游戏
- 《设计的品格 探索×呈现×进化的InDesign美学》—第1课1.3节文字游戏
- 剑指offer面试题[6]-重建二叉树
- 【Java8实战】list分组、过滤、统计、排序等常用操作
- 【Clover】服务器环境中通过Clover boot引导黑群晖DSM(Linux)+Win系统的解决方案与常见bug排查
- 未root的情况下获取墨墨背单词的databases文件夹
- 聚合支付的钱先到哪?一文让你读懂什么是聚合支付
- jQuery初学笔记一,美元符号$
- HBuilder制作表格式的简历
- msgbox php,HTML_MsgBox函数语言参考,描述 在对话框中显示消息 - phpStudy
- 一本值得反复学习的好书——《重构》读后感
- 在ubuntu16.04下,使用unrar解压缩rar文件
- Zabbix 4.4 web前端界面操作流程:创建主机>创建触发器>报警媒介>动作>邮件 发送/接收 预警信息 等详细操作