簡體   English   中英

在主管啟動后啟動動態simple_one_for_one工作人員

[英]Starting dynamic simple_one_for_one workers after supervisor starts

我有一個名為Supervisor ,監督許多simple_one_for_one工作者,它們定期為我的系統上的每個用戶執行任務。

我希望應用程序在Supervisor第一次啟動時為每個用戶啟動一個worker,如果Supervisor在以后重新啟動,我希望應用程序執行相同操作,無論出於何種原因。

目前,我在Applicationstart(type, args)回調中動態啟動所有子項,但如果Supervisor重新啟動,則不會啟動所有子進程。

Supervisor啟動/重啟后,如何確保所有動態子工作者立即啟動?

(我的應用程序在Elixir中,但同樣的原則適用於Erlang。)

我做到這一點的一種方法非常有效,就是使用另一個主管和一個“重啟工作者”。 你的主管是新主管的孩子 - 它是重啟工作者的兄弟。 新主管使用one_for_allrest_for_one ,這樣如果您的主管死亡,重啟工作人員也會重新啟動。

重新啟動重新啟動工作程序時,它可以啟動動態工作程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM