在erlang中使用链接机制跟踪作业是个好主意吗?

时间:2011-07-17 14:49:09

标签: erlang

我正在使用erlang编写地图缩减实现。

为了获得通知映射已完全完成(所有数据都已处理完毕),我在执行实际映射的工作人员和将跟踪{{1}的“管理员进程”之间建立链接来自工人的信号,看看原因是EXIT。如果是这样,它会认为工作正常运行。如果没有,基于normal,它将确定失败的工作并为该工作产生另一名工人(我将保留一本Pid工人的书。一旦收到来自所有Pid的Reason = normal的EXIT信号,映射就完全完成了。

我的问题是,1)这样安全吗? 2)这是一个好习惯吗? 顺便说一句,这些工作是幂等的。

1 个答案:

答案 0 :(得分:5)

是的,这种方法到目前为止听起来不错。

但是你不应该自己实现它,而是使用supervisor

simple_one_for_one类型的主管实现了与您描述的几乎完全相同的行为。