如果主管使用rest_for_one
重新启动策略,并且使用 向其中添加了一个孩子supervisor:start_child
,那么新的孩子被认为是现有孩子“之前”还是“之后”?
或者换句话说,如果现有的孩子是A
,新的孩子是B
,死了会B
死A
,还是死了会A
死B
?我认为是前者,但文档没有明确说明。
如果主管使用rest_for_one
重新启动策略,并且使用 向其中添加了一个孩子supervisor:start_child
,那么新的孩子被认为是现有孩子“之前”还是“之后”?
或者换句话说,如果现有的孩子是A
,新的孩子是B
,死了会B
死A
,还是死了会A
死B
?我认为是前者,但文档没有明确说明。
rest_for_one - if one child process terminates and should be
restarted, the 'rest' of the child processes -- i.e. the child processes after
the terminated child process in the start order -- are terminated. Then the
terminated child process and all child processes after it are restarted.
所以如果你添加一个孩子,如果任何现有的孩子死亡但新的孩子不能杀死任何其他现有的孩子,它将重新启动,这里的顺序是启动顺序。