我有一個one_for_one
負責處理類似和完全獨立的孩子。如何才能達到max_restart_intensity主管刪除違規的孩子?
當有一個孩子有問題,多次出現故障和觸發:
=SUPERVISOR REPORT==== 30-Mar-2011::13:10:42 ===
Supervisor: {local,gateway_sup}
Context: shutdown
Reason: reached_max_restart_intensity
Offender: [{pid,<0.76.0>}, ...
自行關閉,並終止所有無辜的孩子,只會繼續以優良否則運行。
如何用標準的Erlang監督員構建一個監督樹,只停止重新啓動一個違規的孩子並讓其他人獨處?
我在想有一個額外的主管只有一個孩子,但這似乎對我來說很重。
任何其他方式來處理?
額外的上司也只是將這一問題進一步下跌。它仍然會崩潰,然後崩潰頂級主管。在這種情況下,只需增加最大重啓次數和最大時間值... – 2011-03-30 11:56:57
@Adam:我需要停止重新啓動孩子,因爲它似乎阻止我與主管通話。所以我真的希望它停止重新開始犯錯的孩子,但不要終止其他人。我希望這可以在不寫我自己的主管的情況下實現。 – 2011-03-30 12:14:17
糾正我,如果我錯了,但我總結你的情況爲:你有一個完全獨立的孩子的主管,孩子們可以在運行時啓動或崩潰時超時,你想重新啓動每個孩子,並停止重新啓動行爲不當而不影響其他孩子? – 2011-03-30 12:37:25