PID присваиваются в порядке появления от 0.0.0 (init) каждый раз, когда запускается узел.Так что да, вы можете легко получить коллизии PID, если сохраните их между перезапусками узла.
Вы создали какой-то реестр, чтобы позволить вам искать PID для конкретного клиента - этот реестр должен удалять мертвыеСвоевременно.Типичный дизайн для реестра для мониторинга (erlang:monitor/2
) каждого зарегистрированного процесса и удаления записи реестра, когда процесс умирает и получено сообщение {'DOWN', Ref, process, Pid, Info}
.
Я бы также добавил, что хранение PID внеerlang (если ваша база данных не ets или mnesia) необычен по этой причине - PID ничего не будет значить после смерти процесса или узла.