文档章节

ccflow 驰骋工作流引擎的共享任务,应用背景,设置,设计,sdk接口

ccflow周朋
 ccflow周朋
发布于 2013/09/15 11:05
字数 831
阅读 1072
收藏 3


ccflow 驰骋工作流引擎的共享任务,应用背景,设置,设计,sdk接口
-------------------------------------------------------------------

   在以前的版本中,如果多人处理一个工作,ccflow 按照强办处理,比如: a 发送到 b , 在B 点如果N人处理(N>=2),其中的一个人处理完成后,其他的人就不能看到了,如果多个人同时打开了,一个人发送了,另外的一个人在执行发送就会提示发送错误。

  以上的应用场景具有一定的局限性,如果处理得工作人员有多个,容易出现工作交叉处理的情况,为此ccflow启用了任务池的概念。

   
  关于对ccflow任务池的描述:

  1,在流程属性与全局配置设置了启动任务池的状态下,如果一个节点遇到多个人处理,这个任务就放在了任务池里,只有参与处理的人人员才能看得到。
  2,工作人员在处理该工作之前需要申请,放到自己的代办里,一人申请之后,其他人就不能申请了,多个人同时申请第一个人申请的先得到。
  3,申请之后,任务池里就不出现在条工作而是进入了被申请人的待办里。
  4,如果申请人处理不了这件工作,他可以把该工作放入任务池中,放入任务池的工作可以被其他的N个人可以看到。
  5,不管取回与放入,都需要写入流程日志。

  任务池的功能启用:

  1,任务池功能有两个地方配置,web.config , 与流程属性,属性名称都是: IsEnableTaskPool 是否启用任务池。

  2,web.config 中的配置,是用来说明全局是否启用任务池?如果全局启用了任务池,流程属性里的 IsEnableTaskPool 设置才有效。

  3,如果全局启用了任务池,但是个别的流程不使用任务池,就在流程属性里单独配置它,这样既可以解决有一些流程需要启用任务池,有一些流程不需要任务池的需要。


  任务池的设计:

  
  1,在流程引擎控制表 WF_GenerWorkFlow 中增加了如下字段:
     TaskSta, 枚举类型, 0=不启用,1=共享,2=被申请。
     TodoEmpsNum,int类型,处理人员数量,当前节点工作有多少人待办,如果此值大于等于2,讨论共享任务才有意义。
         TodoEmps varchar(500) 待办人员,格式为 处理人员编号,处理人员名称; 比如:guobaogeng,郭宝庚;fuhui,福惠;
      

  2,在流程引擎控制表的人员列表中 WF_GenerWorkerList 中对于IsEnable字段,进行扩充了,如果等于 -1=任务池禁用,0=分配工作被屏蔽,1=正常。 

  3,增加了一个功能界面 /WF/TaskPoolSmaller.aspx 次功能界面是有在任务池启用才能被使用。

  4,在流程属性里增加一个字段 IsEnableTaskPool 是否启用任务池? 此字段用来控制该流程是否启用任务池。


  任务池的SDK接口:

  1,获得共享任务: DB_TaskPool

  2,获得共享任务中我的待办:DB_TaskPoolOfMy

  3,从共享任务中取回:Node_TaskPoolTakebackOne

  4,把取回的共享任务放入任务池: Node_TaskPoolPutOne

© 著作权归作者所有

共有 人打赏支持
ccflow周朋

ccflow周朋

粉丝 180
博文 221
码字总数 147113
作品 2
济南
后端工程师
开源驰骋工作流引擎设计ccflow已读回执设计

驰骋工作流引擎设计ccflow已读回执 关键字:工作流引擎 已读回执 CCFlow 工作流程引擎已读回执 开源工作流引擎 工作流引擎已读回执定义: 在工作流程引擎中:节点A 向节点B运动后,A的处理人...

ccflow
2013/04/16
0
0
开源驰骋/CCFlow

CCFlow基本信息.### 产品名称:驰骋.net工作流引擎. 简称 CCFlow 版本: ccflow6 英文名称: ChiCheng Workflow Engine 官方网站: http://ccflow.org 开发历史: 2003-2016年. 性质: 100%开源,无...

开源驰骋
2016/05/21
0
0
开源驰骋/JFlow

#JFlow开源工作流 目前支持以下数据库(都能正确获取注释信息): 流程引擎设计支持所见即所得的设计:节点设计、表单设计、单据设计、报表定义设计、以及用户菜单设计。 流程模式简洁,只有4种...

开源驰骋
2015/04/10
0
0
开源的Java工作流引擎--JFlow

驰骋工作流引擎研发与2003年,具有.net与java两个版本,这两个版本代码结构,数据库结构,设计思想,功能组成, 操作手册,完全相同. 导入导出的流程模版,表单模版两个版本完全通用。 CCFl...

ccflow
2015/05/17
31.7K
3
驰骋通用权限管理系统 - ccPort

ccPort是驰骋公司推向社会的100%开源的企业一站式解决方案,采用LGPL友好的商业开源协议,下载使用ccPort系列产品请尊重开发者的劳动。 ccPort包含:权限管理CCGPM、单点登录CCSSO、工作流引擎...

匿名
2013/10/30
8.2K
3

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部