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?
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).
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.
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 :)
Going to close due to age reasons. Feel free to re-open if this issue is still relevant anyone.