【发布时间】:2018-10-28 11:12:09
【问题描述】:
所以我偶尔会涉足 Elixir,但过去我一直在努力解决的问题是如何使用流程对应用程序建模。考虑到这一点,我想彻底检查我将要做的事情,看看它是否有意义。
所以我正在构建一个简单的工作流应用程序,每个阶段都会有关于它如何流向下一个阶段的规则,它可能收集的状态以及由于状态变化而触发的事件。阶段不是线性的,并且本质上是任何流程图中的图形。
我看到流程图的第一个想法是它看起来非常像一个流程的集合。
我的想法是将流程中的每个阶段建模为自己的 GenServer,因为它们是可寻址的,可以保持状态并且可以用于执行事件。
如果这是一个明智的方法(如果不是,请告诉我)那么我有几个问题:
由于这是一个图表,每个阶段可以有多个连接的下一个和上一个阶段。我希望这些阶段受到监督,现在我真的要在这里表明我缺乏理解,但我认为主管只监控与其相关的进程,而不是子进程,这是否正确?如果是这种情况,我希望每个阶段都充当 GenServer 和主管,这可能/明智吗?
有没有办法获取一个进程的所有子进程?
这样合理吗?
克里斯
【问题讨论】:
-
旁注:“作为 GenServer 和主管”—
Supervisor是简而言之GenServer。 -
是的,我知道这一点我更想问是否适合将它们用作除母鹿监督之外的东西。我没有说清楚,所以还是感谢您的澄清。
标签: architecture elixir modeling