-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to remove workers after delay, conversion of workers to queue, callback when a worker is checked in and full pool status #106
base: master
Are you sure you want to change the base?
Conversation
When workers are expensive to start and transactions are quick killing all workers that are checked in when in overflow is very expensive. This change allows delaying the termination of overflow workers when there is peak load and alleviates worker churn.
* Ensure reap message already in mailbox is flushed when cancelling reap * Reap shouldn't be touching monitors, they are just for owner of checked out workers
Converted available workers to a queue and single timer for overflow_ttl
I should also mention because of the use of monotonic time pre 17 is not supported |
Also happy to split this up a bit so each change can be looked at separately. |
ffe58ef
to
77caed3
Compare
At first glance, it uses queue to handle workers, it is a very good idea. |
Happy to rebase, will likely split the changes into:
That sound reasonable? |
Thank you, yes. Also make sure you resolve the merge conflicts :) |
rebar3_eqc has a new version 0.1.0, you can update to it. |
Sorry I haven't touched this in a while, been pretty busy myself. Shooting for sometime on Friday to separate into different pull requests. |
@getong I've added a pull request for the conversion to a queue, let's work through that first and I'll start making the others so there aren't a bunch of conflicts to resolve |
#83 has been in use in a production environment for a while but there are some possible improvements for making it more efficient. I realise this pull request has a lot of changes but it would be great if we could figure out some of the common feature requests together so there aren't so many active forks.
This pull request: