ASG not downscaling on Runner shutdown
When we've integrated taskscaler and fleeting with Runner, we've made sure to propagate quit signal to them when Runner is asked to exit.
But after some tests on SaaS MacOS Staging I've noticed, that when Runner is properly stopped, ASG stays with the desired
number of instances set to whatever was the last scaling decision made by taskscaler. This is a problem.
If instances are not decreased, we risk of wasting a lot on resources that are totally unusable. With idle
instances the "waste" of idling resources is a cost that we accept in favor of being able to quickly handle load increases. For ASGs left behind without decreasing when the connected runners are being disabled (which happens regularly with our blue/green deployment approach) - it's a total waste of money.
Additionally, if Runner will be shutdown just when taskscaler decided to increase number of instances to, let's say, 50, we will be left with 50 instances that we pay for an totally not use.
We should revisit shutdown procedure propagation and make sure that taskscaler triggers decrease to 0 before exiting.