возвращаю что-то вроде {ok, мое_состояние}. все довольны, все работает.
но теперь мне еще нужно добавить новосозданный процесс в pg и отправить в ген_ивент событие вроде {life_cycle, новый_ген_сервер_создался, еще_параметры}.
верно ли я понимаю, что во избежание гонок я должен это сделать только ПОСЛЕ того, как init закончится? например, самому себе отправить сообщение и обработать его в handle_info?
раньше делали таймер с 0 задержкой для такого
а чем self() ! post_init не подходит? это плохо будет? и handle_info(post_init, ...) -> ...?
А какие гонки могут случиться если добавлять процесс в pg в ините? И что не так с посылкой сообщения в gen_event?
ген_сервер переключится в момент после само-регистрации и до возвращения из инита. в это время другой процесс увидит нотификацию и/или новую группу и попытается обратиться к ген_серверу.
Так, вот он обратится пока процесс в ините или пока процесс в handle_continue — разницы никакой
Обсуждают сегодня