有两个附加的Start内置任务可用于Flows
StartFunction-当函数在某处调用时开始流程:
@flow_start_funcdef create_flow(activation, **kwargs): activation.prepare() activation.done() return activationclass FunctionFlow(Flow): start = flow.StartFunction(create_flow) .Next(this.end)# somewhere in the preFunctionFlow.start.run(**some_kwargs)
StartSignal-在django信号接收上开始流:
class SignalFlow(Flow): start = flow.StartSignal(some_signal, create_flow) .Next(this.end)
您可以在此viewflow测试套件中检查它们的用法以及其余的内置任务。
要手动处理任务状态,首先应该从数据库中获取任务,将其激活,然后调用任何激活方法。
task = MyFlow.task_cls.objects.get(...)activation = task.activate()if activation.undo.can_proceed(): activation.undo()
任何激活过渡都有.can_proceed()方法,可以帮助您检查,是处于允许过渡状态的任务。



