2011-07-17 20 views
1

我在寫一個使用erlang的map reduce實現。使用erlang中的鏈接機制跟蹤作業是否是個好主意?

爲了得到映射已完成(所有數據已被處理)的通知,我創建了一個執行實際映射的工作人員與「管理進程」之間的鏈接,該進程將捕獲EXIT信號工人們,看看是不是原因是normal。如果是這樣,它會認爲工作正常運行。如果不是,根據Pid,它將確定失敗的工作,併爲該工作產生另一名工人(我將保留工人的書籍Pid)。一旦收到所有Pid的原因=正常的EXIT信號,映射完成。

我的問題是,1)這是否安全? 2)這是一個好習慣嗎?
順便說一句這個工作是冪等的。

回答

5

是的這種方法聽起來不錯。

但是你不應該自己實現它,而應該使用supervisor

simple_one_for_one監督者的類型實現了幾乎完全相同的行爲,你所描述的。

相關問題