<div dir="ltr">Hi!<br>Need advice from an experienced community about synchronizing long initializing gen_server with other parts of application.<br>               <br>Let's say we have 4 gen_servers:<br>* mod_api       - accept requests;<br>* mod_func      - real job;<br>* mod_x, mod_y  - users of mod_func.<br><br>mod_api accepts requests and transforms them to calls to mod_x, mod_y.<br>mod_func is crucial for the application but it needs a time consuming procedure <div>of initialization. IRL it is some cryptography related stuff. </div><div>While mod_func is in the initialization state, mod_api must return 'not_ready' for all requests.<br>While mod_func initializing it is not available for any requests.<br><br>I was thinking about options of notification mechanism implementation and see two of them:<br>1. Some kind of polling from mod_api to mod_func with gen_server:call with timeout: mod_api after initialization begin send_after loop with timeout call to mod_func;<br>2. gen_event based solution. Run up gen_event and wait for notification about readiness of mod_func.<br><br>Am I missing something? Are there any better solutions for such a task?<br></div></div>