0

我有一个工作流程。

class WorkFlow1(Flow):
    start = flow.StartFunction(function1) \
        .Next(this.task2)
    task2 = flow.StartFunction(function2) \
        .Next(this.end)
    end = flow.End()

@flow_start_func
def function1(activation, **kwargs):
    print('Func1 Called.')
    activation.prepare()
    activation.done()
    return activation

@flow_start_func
def function2(activation, **kwargs):
    print('Func2 Called.')
    activation.prepare()
    activation.done()
    return activation

我能够使用以编程方式运行工作流程

`WorkFlowClass.start.run()`. 

它完美地启动了工作流程,但并没有完成它。上述代码段的输出是

Func1 Called

完成工作流的 Node1(start) 后,task2不会调用。意思是,只调用工作流的第一个任务,而不是后续任务。为什么?以及如何执行完整的工作流程?

4

1 回答 1

0

StartFunction 节点创建新的流实例。您不能将一个启动功能连接到另一个。

flow.Function如果需要在外部触发该功能或flow.Handler立即继续,则继续使用现有流程。

于 2018-03-06T05:58:27.757 回答