工作流
这将是一个简单、轻量、健壮、可扩展、适用于自动化为主的、支持主要的BPMN要素(活动、网关、事件)、可持久化、但不准备支持所有BPMN2特性, 的工作流引擎,目前还在 Workflow 分支上开发...
1. 将可以通过如下方式定义流程
$engine = new ProcessEngine();
$process = new Process();
$builder = new ProcessBuilder($process);
//定义流程
$builder
->begin
->task(null, CreateOrderTask::class, '创建订单')
->eFork('eFork1', '事件网关')
->listener(null, 'paid', '等待支付')
->task(null, ShipTask::cass, '发货')
->xJoin('xJoin1', '排他网关')
->end;
$builder
->eFork1
->timer(null, 3600, '支付超时')
->task(null, CloseOrderTask::class, '关闭订单')
->xJoin1
//执行流程
$process->run($engine);