Is there any hooks for .on('error') to remove a driver from the pool? #31

Closed
mcavage opened this Issue Feb 2, 2012 · 8 comments

3 participants

@mcavage

Hi,

Great module - I didn't see it from briefly scanning your code: it's pretty common that with various drivers (especially stateful/long-lived ones), I'd want to have the pool auto-purge a client that emits an error event, so it can recreate another one to replace it. Is there a way to do that?

Thanks!
~Mark

@coopernurse
@mcavage

Oh ok - so just do it "outside" of the pool. I was asking if pool could just manage this automatically (that would be a nice new feature).

@coopernurse
@mcavage

Well, I guess we could do that too (health check on acquire). I was actually thinking more of .on('error') it could go into a "destroy -> create". I dunno, maybe it's not worth it if it's wrapped outside of the pool. Because either way (health check or error-based), it does feel like you'd have to do retry/backoff, otherwise you could end up in a "spin" when the backend resource is out.

@coopernurse
@mcavage

Yeah I think a health check hook like jakarta's that's executed outside of my normal code flows would actually get me the same thing - so sold :)

@coopernurse
@sandfox
Collaborator

Going to close due to age reasons. Feel free to re-open if this issue is still relevant anyone.

@sandfox sandfox closed this Dec 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment