我正在使用erlang编写地图缩减实现。
为了获得通知映射已完全完成(所有数据都已处理完毕),我在执行实际映射的工作人员和将跟踪{{1}的“管理员进程”之间建立链接来自工人的信号,看看原因是EXIT
。如果是这样,它会认为工作正常运行。如果没有,基于normal
,它将确定失败的工作并为该工作产生另一名工人(我将保留一本Pid
工人的书。一旦收到来自所有Pid
的Reason = normal的EXIT
信号,映射就完全完成了。
我的问题是,1)这样安全吗? 2)这是一个好习惯吗? 顺便说一句,这些工作是幂等的。
答案 0 :(得分:5)