Ref T12298.
- If all daemons in all pools are hibernating already, we may exit immediately without sending EXIT events and fail to update the web UI.
- A max() should be min() ("sleep for at most 180 seconds", not "sleep for at least 180 seconds").
- If there are no daemons in a pool (unlikely/theoretical), we might not set the shutdown flag on the pool correctly.
- An autoscale message may actually mean that a pool is exiting.