I love NimblePool and use it frequently. I’m curious why all Redix pooling libraries use Poolboy instead.
From the NimblePool docs…
you can act directly on the resource, avoiding the data copying, but you need to keep the state of the resource in sync with the process
I take that to mean that you have to make sure the resource is in a good state before returning it via checkout
. Which is fine; NimblePool has callbacks to ensure your resource is good before handing them out. I.e. if a Redix process is dead, you can use a NimblePool callback to create a new one.
NimblePool may not be a good option to manage processes.
Why? I understand that the pool itself can become a bottleneck, but that’s easily handled by having multiple pools and randomly selecting one to use.
Thanks for the help.