基本类
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(