1

有限状态机可以转换到多个下一个状态。因此,例如从状态 1 开始,机器将在给定输入 A 的情况下转换到状态 2,或者在给定输入 B 的情况下转换到状态 2,依此类推。这可能与 django-viewflow 吗?

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

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

4

1 回答 1

0

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

但是 viewflow 自定义一切。可以通过覆盖激活类 done/activate_next 方法来实现转换选择。

于 2019-02-04T04:53:36.597 回答