Many thanks. It sounds like using an outside health check to modify the nodefile is probably the way to go.<br>I found the code that sets the NODEFILE_RELOAD_FREQ to 3 in <a href="http://Pool.pm">Pool.pm</a> so I guess that means it checks for updates every three seconds as long as I don't add/remove nodes through the management service.
<br><br>Thanks!<br>-Jake<br><br><br><div><span class="gmail_quote">On 10/16/07, <b class="gmail_sendername">dormando</b> <<a href="mailto:dormando@rydia.net">dormando@rydia.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>> I don't know of a way to do this through normal configuration or<br>> plugins, but you could check out BackendHTTP.pm, the functions<br>> event_write and event_read_waiting_options are the ones that currently
<br>> deal with the OPTIONS check. You could modify it hit a specific URI<br>> with a GET, instead... and then check for some magical "We're all good"<br>> in the headers, I guess. Keep in mind that the OPTIONS check is
<br>> currently when you first get a request (afaik), and it's assumed to be<br>> very fast. If your DB check takes a while it could block the first<br>> unlucky user's request... if I'm reading it correctly. Just sort of
<br>> stabbing here, I'm not a Perlbal pro. I'm sure you're better off with<br>> the next option.<br><br>OPTIONS is only ran when perlbal first connects to an individual apache<br>process, so it's not used for the client side service. For each
<br>keepalive request it'll just blind forward. It's better to have a health<br>check service for the (often rarer) case of the code on an individual<br>machine exploding.<br><br>> Sure, your app (daemon or cron, whatever) could check your server for
<br>> connectivity then either ADD/REMOVE servers from a POOL via the telnet<br>> management port, or change a nodelist file (which Perlbal will<br>> eventually re-read).<br><br>Yup :) It'll reload the nodelist pretty fast, even! As a caveat (this at
<br>least _used_ to be true), once you modify a pool with ADD/REMOVE, it<br>won't check the nodelist anymore.<br><br>-Dormando<br></blockquote></div><br>