Erlang 你什么时候会限制事务重试次数?

Erlang 你什么时候会限制事务重试次数?,erlang,mnesia,Erlang,Mnesia,Mnesia允许您限制重试事务的次数: MyFun = fun() -> ... end, {atomic, ok} = mnesia:transaction(MyFun, [], 42) 如果不指定数字,则默认值为无限 我从未见过任何限制重试次数的代码。有你?在什么情况下有用?您可以在执行某些操作时限制重试次数,其中某些操作必须在定义的持续时间内或在指定的时间内进行,如果没有,则必须采取其他操作在这种情况下,您不希望其他进程在不确定事务是否成功时等待。然而,mnesia的几个事务上下文

Mnesia允许您限制重试事务的次数:

MyFun = fun() -> ... end,
{atomic, ok} = mnesia:transaction(MyFun, [], 42)
如果不指定数字,则默认值为
无限


我从未见过任何限制重试次数的代码。有你?在什么情况下有用?

您可以在执行某些操作时限制重试次数,其中某些操作必须在定义的持续时间内或在指定的时间内进行,如果没有,则必须采取其他操作

在这种情况下,您不希望其他进程在不确定事务是否成功时等待。然而,mnesia的几个事务上下文可能会改变应用程序中事务提交的方式


然而,根据我个人的经验,使用mnesia的实时系统应该使用mnesia事件来处理,因此,任何写入、更新、删除、插入、e.t.c都会在那里向所有订阅的进程/服务器生成即时事件。因此,收到此事件消息的人将采取他们希望的任何可能的操作。

在执行某些操作时,您可以限制重试次数,其中某些操作必须在定义的持续时间内或在指定的时间内发生,如果没有,则必须采取另一个操作

在这种情况下,您不希望其他进程在不确定事务是否成功时等待。然而,mnesia的几个事务上下文可能会改变应用程序中事务提交的方式

然而,根据我个人的经验,使用mnesia的实时系统应该使用mnesia事件来处理,因此,任何写入、更新、删除、插入、e.t.c都会在那里向所有订阅的进程/服务器生成即时事件。因此,那些收到此事件消息的人将尽可能采取他们希望的任何行动