【发布时间】:2011-05-18 09:56:20
【问题描述】:
我们正在开发一个应用程序,其中分布式系统中不同节点上的多个进程订阅 mnesia 事件。该表是从其中一个节点上的一个进程写入的。
但是,我们是否可以确保按照与桌面上的操作相同的顺序接收事件,却产生了不确定性。
例如:
mnesia:delete(tab1, SomeRec),
mnesia:write(tab1, SomeOtherRec)
如果我们有时在写入事件之后得到删除事件,我们的设计将无法正常工作,我们将不得不创建一些其他类型的通知机制。
另外,对不同表(来自同一进程)的操作怎么样?
mnesia:write(tab1, SomeRec),
mnesia:write(tab2, SomeOtherRec)
我们能否确保总是先从 tab1 获取事件,然后再从 tab2 获取事件?在所有进程和所有节点上?
【问题讨论】:
-
不知何故,我觉得您正在尝试使用 mnesia 事件来更好地完成不同的事情。但是,我不能说为什么。你能详细说明你想对这些表事件做什么吗?
-
完全有可能。但无论如何解决这个问题会很有趣。
标签: events erlang mnesia subscribe