Currently there is no event emitted when pool has some idle connections.
Which makes it impossible to efficiently manage the pool queue.
You need to poll pool.idleCount (or some other counts) all the time.
I have added this.emit('idle') in release which seems to work
....
this._idle.set(client.processID, new IdleItem(client, tid))
this.emit('idle')
....
Is there a problem with that?