Я пишу карту уменьшения реализации, используя erlang.
Чтобы получить уведомление о том, что сопоставление полностью завершено (все данные обработаны), я создаю связь между рабочими, которые выполняют фактическое сопоставление, и «процессом менеджера», который будет захватывать сигналы EXIT
от рабочих, и видит, если причина normal
. Если это так, он будет считать, что задание выполнено правильно. Если нет, основываясь на Pid
, он определит работу, которая потерпела неудачу, и породит другого работника для этой работы (я буду хранить книгу Pid
работников). Как только EXIT
сигналы с Reason = normal от всех Pid
были получены, отображение полностью выполнено.
Мой вопрос: 1) это безопасно? и 2) это хорошая практика?
Кстати, рабочие места идемпотентны.