Я создал супервайзер, который породил gen_server
, которого я назвал timer_server
. Одна из задач этого timer_serve
r — управлять регистрацией и вызывать timer:send_interval
для отправки сообщения pid через определенный интервал.
Однако в инициализации gen_server
, когда я вызываю timer:send_interval
, я получаю зависание. В документации сказано, что таймер: функции возвращаются немедленно, так что это очень беспокоило.
Когда я переименовал свой gen_server
в record_timer_server
, эта проблема исчезла. Тогда мой вопрос двоякий:
- Зачем мне создавать зарегистрированный процесс
timer_server
, если он уже был, когдаtimer:start()
вызывался при запуске моего приложения? - Почему после запуска эта функция не вызвала плохое совпадение при поиске имени, если она обращалась к моему
timer_server
с помощью функцииsend_interval
?
Я не думаю, что код необходим, но я могу обновить, чтобы добавить его, если потребуется.