2016-04-22 78 views
4

我有一个名为Supervisor的监督工作人员,该工作人员定期为系统上的每个用户执行一项任务。启动监督员启动后的动态simple_one_for_one工作人员

我希望应用程序在第一次启动Supervisor时为每个用户启动一个工作程序,并且我希望应用程序在以后重新启动Supervisor时执行相同的操作。

目前我在Applicationstart(type, args)回调中动态启动所有的孩子,但是如果Supervisor重新启动,那将不会启动所有子进程。

如何确保在Supervisor启动/重新启动后立即启动所有动态子作业员?

(我的应用程序是花好月圆,但同样的原则也适用于二郎)。我这样做是非常有效的使用其他主管和“重启工作者”

回答

6

的一种方式。你的主管是新员工的孩子 - 这是重启员工的兄弟姐妹。新的主管使用one_for_allrest_for_one,以便如果您的主管死亡,重启工作人员是重新启动。

当重新启动工作程序重新启动时,它可以启动动态工作。

+0

谢谢,这种方法运作良好。 – tomtaylor

+0

很酷,这正是我想要的:-)。任何关于什么时候我想要“rest_for_one”而不是“one_for_all”的见解? – tomwilson