SpiffWorkflow定制工作流
基本类
SpiffWorkflow有四个基本类:
1、SpiffWorkflow.specs.WorkflowSpec和SpiffWorkflow.specs.TaskSpec用于定义工作流及工作流中的任务。
2、SpiffWorkflow.Workflow和SpiffWorkflow.Task用于跟踪、控制执行中的工作流和任务。SpiffWorkflow.Workflow的实例属性task_specs指向工作流定义,SpiffWorkflow.Task的实例属性task_spec指向任务定义。
事件处理机制
1、SpiffWorkflow.Task实例根据状态变化,会触发不同的事件,按照事件发生顺序:entered->reached->ready->completed->finished,cancelled事件可在任何时间点发生。
2、在对应SpiffWorkflow.specs.TaskSpec实例中注册事件处理函数。SpiffWorkflow.specs.TaskSpec实例的属性:entered_event、reached_event、ready_event、completed_event、finished_event、cancelled_event,通过调用相应event.connect来注册各自的事件处理函数。
3、这些事件,一般用来跟踪任务执行状态。
例子
1、编写一个workflow specification文件,文件格式可选:xml(例子)、json或者python(例子)。
2、运行工作流
from SpiffWorkflow.specs import *
from SpiffWorkflow import Workflow
from SpiffWorkflow.serializer.xml import XmlSerializerwith open("test.xml") as fp:fc = fp.read()
spec = WorkflowSpec.deserialize(XmlSerializer(), fc)
wf = Workflow(spec)
while wf.is_completed():wf.completed_all(False)
SpiffWorkflow定制工作流相关推荐
- SharePoint Online 定制工作流表单
前言 我们在使用SharePoint 工作流的时候,有一点很不友好,那就是表单的UI,真的是太简(nan)单(kan)了,所以,定制表单几乎成了国内工作流开发的重中之重,几乎没有任何项目使用默认的表单 ...
- SharePoint 2013 开发——SharePoint Designer 2013工作流
博客地址:http://blog.csdn.net/FoxDave SharePoint Designer 2013为开发者和高级用户提供了两种创建定制工作流的模式: 基于文本的设计器--即我们一直 ...
- 《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展
<WF编程>系列之3 - 漫游工作流:Visual Studio 2005 扩展 1.2.2 Visual Studio 2005 扩展 Microsoft提供了一个Visual Stud ...
- 也谈基于Web的含工作流项目的一般开发流程
该项目包含的通用模块代码等我有时间一并剥离贡献出来(基于WebSocket的通知引擎,工作流整合模块,自定义表单,基于RBAC权限设计),最近太忙了,Web项目有一段时间没碰,有点生疏的感觉,主要在忙 ...
- 利用Office 365 定制企业合同管理平台之定制合同文档!
对于企业来说,文档库是必须配置的组件,因为非结构化的数据在企业中占据了大部分.比如说文档.音频.视频等等文件都是我们的非结构化数据,这些非结构化数据处理占用了我们的每天工作的80%的时间,因此这部分数 ...
- 亚马逊推出Simple Workflow Service手册
亚马逊刚刚发布了一份白皮书与代码示例,其中包含了Amazon Simple Workflow Service手册. Amazon Simple Workflow Service(SWF)是: --面向 ...
- plone进行 用户和权限管理
================= 用户和权限管理 ================= .. Contents:: .. sectnum:: :prefix: 6. 对于任何一个系统,我们都会关 ...
- 从前端智能化看“低代码/无代码”
简介: 什么是低代码/无代码开发?业界对于低代码/无代码开发是否存在其他不同的理解?低代码开发和无代码开发之间的区别是什么? 作者 | 甄子 来源 | 阿里技术公众号 一 概念 1 什么是低代码/无代 ...
- 使用Prometheus监控Cloudflare的全球网络
Matt Bostock在SRECON 2017欧洲大会的演讲中,介绍了如何使用Prometheus实现对CloudFlare分布于全球的架构和网络的监控.Prometheus是一种基于度量进行监控的 ...
最新文章
- C# 篇基础知识11——泛型和集合
- Windows 7怎么关闭自动播放功能?
- 这是一个神奇的文字转语音软件
- Django - ORM - 事务, 乐观锁, 悲观锁
- 龙芯.NET正式发布 开源共享与开发者共成长
- 最常用计算机机箱,电脑机箱的常用材质是什么?
- c2c旅游springboot开源_重量级开源的商城和SpringBoot等项目看看有没有正好是你需要的...
- MySQL的索引类型及简单优化
- Python计算组合数生成杨辉三角形
- 一套代码小程序WebNative运行的探索03——处理模板及属性
- Big Sur MacOS高清动态壁纸
- 【vs】 试图加载格式不正确的程序
- Qt部分拉伸的背景图片
- 斗地主(按照顺序给玩家发牌)
- Linux -- 项目服务部署学习
- 易查分显示教师编号不正确
- 5月6日----5月9日一年级课程表
- Mac的环境配置的详细步骤
- 俄政府为“俄罗斯离岸区”推出特别加密货币监管措施
- LoadRunner关联详解