一个视图流任务是否可以有多个下一个状态转换



有限状态机可以转换到多个下一个状态。因此,例如,从State1,机器将在给定输入A的情况下转换到State2,或在给定输入B的情况下过渡到State2等等。这在django视图流中可能吗?

NB1我知道"拆分"工作流程是可能的。这是一个很好的功能,但它不是我想要的。拆分工作流提供多个并发工作流,所有工作流都单独进行。我正在寻找一种在不同的单个工作流之间进行选择的方法,根据收到的输入,只选择和执行一个工作流。

NB2使用If网关可能实现我想要的目标。据推测,可以根据用户输入将标志存储在的某个位置,然后If节点会检查并使用该标志来确定要激活的分支。这是建议的处理方式吗?如果是,是否有任何具体的代码示例演示如何做到这一点?理想情况下,我不想将这种工作流信息作为标志存储在我的主要模型中——事实上,我根本不想长期存储这种短暂的选择。那么,还有其他方法可以实现我想要的吗?

BPMN的优势之一是它强制以这样的方式对流程进行编程,即每个流程决策都被永久存储,并可用于进一步的流程性能分析。跳过决策存储是反模式。在有很多这样的决策的情况下,在django中,通过在流程模型中添加JSON字段可以很容易地实现。

但viewflow可以自定义所有内容。转换选择可以通过重写激活类done/activate_next方法来实现。

最新更新