基本类

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定制工作流相关推荐

  1. SharePoint Online 定制工作流表单

    前言 我们在使用SharePoint 工作流的时候,有一点很不友好,那就是表单的UI,真的是太简(nan)单(kan)了,所以,定制表单几乎成了国内工作流开发的重中之重,几乎没有任何项目使用默认的表单 ...

  2. SharePoint 2013 开发——SharePoint Designer 2013工作流

    博客地址:http://blog.csdn.net/FoxDave SharePoint Designer 2013为开发者和高级用户提供了两种创建定制工作流的模式: 基于文本的设计器--即我们一直 ...

  3. 《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展

    <WF编程>系列之3 - 漫游工作流:Visual Studio 2005 扩展 1.2.2 Visual Studio 2005 扩展 Microsoft提供了一个Visual Stud ...

  4. 也谈基于Web的含工作流项目的一般开发流程

    该项目包含的通用模块代码等我有时间一并剥离贡献出来(基于WebSocket的通知引擎,工作流整合模块,自定义表单,基于RBAC权限设计),最近太忙了,Web项目有一段时间没碰,有点生疏的感觉,主要在忙 ...

  5. 利用Office 365 定制企业合同管理平台之定制合同文档!

    对于企业来说,文档库是必须配置的组件,因为非结构化的数据在企业中占据了大部分.比如说文档.音频.视频等等文件都是我们的非结构化数据,这些非结构化数据处理占用了我们的每天工作的80%的时间,因此这部分数 ...

  6. 亚马逊推出Simple Workflow Service手册

    亚马逊刚刚发布了一份白皮书与代码示例,其中包含了Amazon Simple Workflow Service手册. Amazon Simple Workflow Service(SWF)是: --面向 ...

  7. plone进行 用户和权限管理

    ================= 用户和权限管理 ================= .. Contents:: .. sectnum::    :prefix: 6. 对于任何一个系统,我们都会关 ...

  8. 从前端智能化看“低代码/无代码”

    简介: 什么是低代码/无代码开发?业界对于低代码/无代码开发是否存在其他不同的理解?低代码开发和无代码开发之间的区别是什么? 作者 | 甄子 来源 | 阿里技术公众号 一 概念 1 什么是低代码/无代 ...

  9. 使用Prometheus监控Cloudflare的全球网络

    Matt Bostock在SRECON 2017欧洲大会的演讲中,介绍了如何使用Prometheus实现对CloudFlare分布于全球的架构和网络的监控.Prometheus是一种基于度量进行监控的 ...

最新文章

  1. C# 篇基础知识11——泛型和集合
  2. Windows 7怎么关闭自动播放功能?
  3. 这是一个神奇的文字转语音软件
  4. Django - ORM - 事务, 乐观锁, 悲观锁
  5. 龙芯.NET正式发布 开源共享与开发者共成长
  6. 最常用计算机机箱,电脑机箱的常用材质是什么?
  7. c2c旅游springboot开源_重量级开源的商城和SpringBoot等项目看看有没有正好是你需要的...
  8. MySQL的索引类型及简单优化
  9. Python计算组合数生成杨辉三角形
  10. 一套代码小程序WebNative运行的探索03——处理模板及属性
  11. Big Sur MacOS高清动态壁纸
  12. 【vs】 试图加载格式不正确的程序
  13. Qt部分拉伸的背景图片
  14. 斗地主(按照顺序给玩家发牌)
  15. Linux -- 项目服务部署学习
  16. 易查分显示教师编号不正确
  17. 5月6日----5月9日一年级课程表
  18. Mac的环境配置的详细步骤
  19. 俄政府为“俄罗斯离岸区”推出特别加密货币监管措施
  20. LoadRunner关联详解

热门文章

  1. 苹果服务器维护时间表2019,ios 内购详解(2019)
  2. html后台登录界面网页设计界面
  3. 解决idea中每次创建项目都要重复配置maven,全网几步配置
  4. 年和日转化为天干地支
  5. 互联网思维——社会化思维
  6. mysql exists 使用的意义
  7. 传Snapchat母公司Snap拟于3月在纽交所IPO上市
  8. margin-top不起作用???
  9. css 超链接样式设置
  10. 审查元素:html标签消失。