-
Notifications
You must be signed in to change notification settings - Fork 343
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
Make it possible to re-use active runners for a few workflow runs #4
Comments
How could this be implemented? Something like Cluster Autoscaler? https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html To make this work in cluster autoscaler way, you need to set up autoscaling groups and serverless app that terminates idle nodes. Or, you could create cloudwatch alarm that scales out ASG when a SQS queue has pending messages, and scales in when SQS becomes empty for a while. non-fio queue could deliver the same message twice , so FIFO queue would work better. |
Calling this action with stop mode is no longer required if we use those methods? If we create lambda function that periodically watches runner, stop action is useless. |
@vroad thank you for your ideas! I thought about a bit different solution:
In such a way, you should be able to gain the following benefits:
Does it make sense? |
To reliably stop idle instances, the monitoring program should run outside of the instance. If the instance is in ASG, unhealthy instances will get terminated, and new instances comes up as long as desired capacity is bigger than 0. AWS doesn't always mark unresponsive instance as unhealthy, though. |
Just a random thought: would it be possible to use a mix of scheduled and workflow-run event-triggered GitHub workflows to manage the pool of self-hosted runners (using |
Notes
The text was updated successfully, but these errors were encountered: