工作流

Apache Oozie

最后都变了- 提交于 2019-12-01 06:44:40
1. Apache Oozie   Oozie是一个工作流调度系统。Oozie是运行于Java Servlet容器上的一个java web应用。Oozie是按照有向无权图(DAG)调度方式,使用xml文件配置工作流。最初是由Cloudear公司开发,后来贡献给Apache    a. apache Oozie架构 oozie的webapp:oozie的server   提供一个UI界面,接收客户点的提交的任务,提交给hadoop几圈,启动一个只有一个map没有reduce的mapreduce任务来调度工作的任务具体的执行,交给服务项。 b. 基本原理 采用xml配置工作流 xml:workflow.xml 配置工作流的具体执行(有向无环图实现到配置文件)。 job.properties:工作流的通用配置文件,执行参数信息。 将节点分为两类: 控制节点:描述工作流的走向 start end fork join kill 动作节点:具体执行任务的节点 包括不局限于:mr,java,hive,shell,spark等。 c. 工作流的类型 workFlow:顺序执行流程节点,普通的工作流的调度,不涉及定时,不涉及批处理的工作流。 coordinator:支持定时循环的调度任务 bundle:即支持定时又支持批处理。 来源: https://www.cnblogs.com/qidi/p

工作流服务组件和表介绍

感情迁移 提交于 2019-12-01 05:09:32
7大服务介绍 服务名称 描述 RepositoryService Activiti 中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据 ( 例如 BPMN2.0 XML 文件,表单定义文件,流程定义图像文件等 ),这些文件都存储在 Activiti 内建的 Repository 中。Repository Service 提供了对 repository 的存取服务。 RuntimeService 在 Activiti 中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象实例。Runtime Service 提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供了对流程部署,流程定义和流程实例的存取服务。 TaskService 在 Activiti 中业务流程定义中的每一个执行节点被称为一个 Task,对流程中的数据存取,状态变更等操作均需要在 Task 中完成。Task Service 提供了对用户 Task 和 Form 相关的操作。它提供了运行时任务查询、领取、完成、删除以及变量设置等功能。 IdentityService Activiti 中内置了用户以及组管理的功能,必须使用这些用户和组的信息才能获取到相应的 Task。Identity Service 提供了对 Activiti 系统中的用户和组的管理功能。

在iMatrix平台中如何实现页签树popLeafTree(zTreeSetting)

我与影子孤独终老i 提交于 2019-12-01 03:22:10
1.1.1 页签树 popLeafTree(zTreeSetting) 使用该方法实现页签显示组织结构功能,效果如图: 1.1.1.1 用法 var zTreeSetting={ leafs: [{ leaftitle: " 部门人员树 " , treeId: "treeId1" , treeType: "MAN_DEPARTMENT_TREE" , chkStyle: "checkbox" },{ leaftitle: " 公司树 " , treeId: "treeId2" , treeType: "COMPANY" , chkStyle: "checkbox" },{ leaftitle: " 部门树 " , treeId: "treeId3" , treeType: "DEPARTMENT_TREE" , chkStyle: "checkbox" },{ leaftitle: " 工作组树 " , treeId: "treeId4" , treeType: "GROUP_TREE" , chkStyle: "checkbox" },{ leaftitle: " 工作组人员树 " , treeId: "treeId5" , treeType: "MAN_GROUP_TREE" , chkStyle: "checkbox" },{ leaftitle: " 部门工作组树 " ,

纵观jBPM:从jBPM3到jBPM5以及Activiti5

我是研究僧i 提交于 2019-11-30 13:57:13
对 jBPM 来说,今年最大的事件莫过于jBPM的创建者 Tom Baeyens 离开JBoss了。Tom Baeyens离开的具体原因尚不清楚,但他的离开产生了两个结果:一是jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码,基于 Drools Flow 重头来过;二是Tom Baeyens加入 Alfresco 后很快推出了新的基于jBPM4的开源工作流系统 Activiti 。由此不难推测Tom Baeyens离开的部分原因:JBoss内部对jBPM未来版本的架构实现产生了严重的意见分歧。更加巧合的是12月1日Activiti5刚发布,紧接着12月2日jBPM5就发布了第一个候选发布版本,jBPM与Activiti之间的微妙关系可见一般。 相关 厂商 内容 Flash Builder 4.5高级版试用版免费高速下载 百度技术沙龙第十七期:富客户端时代的JavaScript框架(8月20日 周六) Hadoop、HBase、MongoDB和Cassandra等技术在当前的企业中的应用 Sybase在线研讨会:云时代的列式数据库——Sybase IQ15.3新特性(8月22日 周一) InfoQ诚聘:策划编辑、项目经理、商务经理等 在这篇文章里,我们将一起回顾jBPM从jBPM3到jBPM5以及Activiti5的发展历程,我们可以清晰的看见jBPM

Azkaban 入门

感情迁移 提交于 2019-11-30 13:44:27
1 Azkaban 概述 1.1 为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成:shell,java,mr、hive 等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行 1.2 什么是 Azkaban? Azkaban 是一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 KV 对的方式,通过配置中的 dependencies 来设置依赖关系,Azkaban 使用 job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪你的工作流。 1.3 特点 兼容任何版本的 Hadoop 易于使用的 Web 用户界面 简单的工作流的上传 方便设置任务之间的关系 调度工作流 模块化和可插拔的插件机制 认证/授权(权限的工作) 能够杀死并重新启动工作流 有关失败和成功的电子邮件提醒 1.4 架构 1、AzkabanWebServer:AzkabanWebServer 是整个 Azkaban 工作流系统的主要管理者,它用户登录认证、负责 project管理、定时执行工作流、跟踪工作流执行进度等一系列任务 2、AzkabanExecutorServer:负责具体的工作流的提交、执行,它们通过数据库来协调任务的执行 3

南大先腾工作流引擎(五)事件与时间控制

冷暖自知 提交于 2019-11-30 09:30:44
概述 工作流事件是工作流在特定的时间点暴露出来用于处理业务相关事务的机制。工作流事件主要有: 节点创建后;用户处理节点创建后的业务初始化工作。 节点提交前;用于节点提交前检查业务数据的一致性。 提交失败(异常)时;用于处理异常业务数据。 工作流时间控制,相对来说要复杂一点。它的目的是用来控制业务流程执行的周期。 流程计时 流程和节点的期限(后面统一称为任务)都是按照工作时间来计算的,他的基本算法是将这个期限作为这个任务完成的剩余时间,在工作时内每隔一个时间段(比如10分钟)就对每个活跃的任务的剩余时间进行扣除,所以剩余时间可以为负的,这说明已经超期了。流程有一个计时状态,如果流程时活跃的但是计时状态是关闭的,则流程和他的所有活跃的节点都不计时(就是不会扣除剩余时间)。 用户可以通过管理接口来修改这个计时状态,也可以设定某些节点为不计时,这样进入这个节点流程就自动为不计时状态,完成这个节点流程计时状态又将自动打开。 流程运行期限 流程的期限比较简单,就是一个时间值,在计时状态下剩余时间逐渐减少,较少为负数就算超时。 期限的格式为 5D5H30M ,D表示天 H表示小时 M表示分钟。也可以仅仅是一个数字,这个数字表示天数。 节点运行期限 节点计时于期限设定 节点的期限设定较为复杂: 1,在节点中设置 节点的默认计时规则 。 2,在流转条件中设置目标节点的计时规则

Oozie和Azkaban的区别

丶灬走出姿态 提交于 2019-11-30 09:27:41
Oozie和Azkaban的区别: 工作流定义:Oozie是通过xml定义的而Azkaban为properties来定义。 部署过程:Oozie的部署相对困难些,同时它是从Yarn上拉任务日志。 Azkaban中如果有任务出现失败,只要进程有效执行,那么任务就算执行成功,这是BUG,但是Oozie能有效的检测任务的成功与失败。 操作工作流:Azkaban使用Web操作。Oozie支持Web,RestApi,Java API操作。 权限控制:Oozie基本无权限控制,Azkaban有较完善的权限控制,供用户对工作流读写执行操作。 Oozie的action主要运行在hadoop中而Azkaban的actions运行在Azkaban的服务器中。 记录workflow的状态:Azkaban将正在执行的workflow状态保存在内存中,Oozie将其保存在Mysql中。 出现失败的情况:Azkaban会丢失所有的工作流,但是Oozie可以在继续失败的工作流运行 来源: https://www.cnblogs.com/yumengfei/p/11576447.html

GITFLOW流程

十年热恋 提交于 2019-11-30 07:52:21
GITFLOW流程规范 GIT的使用非常的灵活,但是灵活就导致在使用的过程中有各种各样的情况,根据现有项目组的情况,使用GITFLOW流程规范作为项目开发流程规范。 该规范参考地址: 深入理解学习Git工作流 Gitflow工作流 Gitflow工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。 Gitflow工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。 Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。 除了使用功能分支,在做准备、维护和记录发布也使用各自的分支。当然你可以用上功能分支工作流所有的好处:Pull Requests、隔离实验性开发和更高效的协作。 工作方式 Gitflow工作流仍然用中央仓库作为所有开发者的交互中心。和其它的工作流一样,开发者在本地工作并push分支到要中央仓库中。 历史分支 相对使用仅有的一个master分支,Gitflow工作流使用2个分支来记录项目的历史。master分支存储了正式发布的历史,而develop分支作为功能的集成分支。 这样也方便master分支上的所有提交分配一个版本号。

如何为ccflow工作流引擎增加一个优先级PRI?

∥☆過路亽.° 提交于 2019-11-30 04:14:30
如何为ccflow工作流引擎增加一个优先级PRI? 对于一条流程的优先级可分为 低,中,高三个级别,用这个状态来标示这条流程的紧急程度。 以以前版本的ccflow中是以节点表单的标志来处理的,为了统一管理现在纳入了整个工程的属性里。 访问开源的asp.net 工作流引擎 ,工作流程管理系统ccflow 官方网站 http://ccflow.org 技术讨论: http://bbs.ccflow.org 设计与实现: ----------------- 0, 流程的优先级是一个全局属性,如果启用了任何一个流程都要有优先级别。 1, 在开始节点表单中增加一个PRI字段,枚举类型的. 0低,1中,2高 默认为1。 非开始节点表单可以没有PRI字段。 2,如果不需要PRI字段就可以把改字段隐藏了. 3, 在流程注册表中WF_GenerWorkFlow 也增加PRI字段。 4,在待办工作界面里可以按此字段进行分组。 5, 如果流程在中途需要修改流程优先级,就要可以在所在节点表单中改变PRI这个值,一般的情况下PRI是发起人确定的。 6, 如果采用SDK表单的开发模式,需要有参数的方式把PRI的值传递到节点表单里。 配置步骤: ---------------- 1, 在web.config 文件中增加 IsEnablePRI 设置 0 不启用, 1 启用。默认不启用。 <!--