Alternatywą - która może (lub nie może) dotyczyć Twojego przypadku jest użycie zachowania gen_event.
ZASTRZEŻENIE
mówię „mógł”, ponieważ to zależy od tego, co twoi „pracownicy” zrobić w konkretnym przypadku. Jeśli interesuje Cię treść ich odpowiedzi, możesz nie chcieć stosować tego podejścia, ale w przypadku, gdy jesteś zainteresowany faktem, że wszyscy pracownicy wykonali swoje zadania - na przykład procesy robocze wykonują ciężkie obliczenia i przechowuj ich częściowy wynik w bazie danych, więc jesteś gotowy do połączenia częściowych - gen_event może być drogą do zrobienia.
KONIEC ZASTRZEŻENIE
Więc ...
W OTP, menedżer wydarzenie jest nazwany obiekt, do którego mogą być wysyłane zdarzenia.
Zdarzenia to wiadomości.
W menedżerze zdarzeń jest zero, jedna lub kilka procedur obsługi zdarzeń jest zainstalowanych. Gdy menedżer zdarzeń zostanie powiadomiony o zdarzeniu, zdarzenie zostanie przetworzone przez wszystkie zainstalowane programy obsługi zdarzeń.
Zasadniczo zamiast jednego przełożonego i kilku pracowników masz menedżera zdarzeń i kilka programów do obsługi zdarzeń.
Następnie można użyć funkcji gen_event:sync_notify/2:
sync_notify jest synchroniczna w tym sensie, że nastąpi powrót ok po zdarzenie zostało obsługiwane przez wszystkie obsługi zdarzeń.
Aby uzyskać więcej informacji na temat * gen_event * wyglądać here i there.