Replies: 1 comment 4 replies
-
i've been noticing this same thing - i've just set a bogus date on the scale down expression to disable it entirely, like simply setting the year to something in the past. I didn't think about using idle_config in addition to pool_config, but, I was also chasing some issues where jobs were getting terminated prematurely, so I had been trying to rule it out as a factor entirely. when using a pool, i'd expect it to basically consume the pool and then append to the requested capacity, so if your pool is 10, you request 15 nodes, it consumes 10, requests 5 extra, the pool then stands up another 10. ideally, i shouldn't end up with any extra nodes - and i should have nothing to scale down, the runners all terminate themselves once the actions are finished. this also means if you're using a pool I'd expect to need delay_webhook_event set to something greater than 0 - otherwise it may start adding additional runners to the queue before it ever attempts to consumes a pool worker. edit: i ended up having to turn scale down back on and using idle_config afterall, as i was getting orphaned instances sticking around on occasion, which i'm still not sure why, but, I re-enabled it every 10 minutes, I set it slightly higher than my pool count, and I set my minimum running time to 60 minutes so it's not just tearing down stuff constantly. I'm still testing, but it seems to be working much better now. |
Beta Was this translation helpful? Give feedback.
-
The documentation seems to indicate that if using ephemeral runners then the pool config should be set and not to adjust the idle config, but I'm not so sure this resulting behaviour is desirable.
Using the following arguments:
It seems that the pool config only scales up instances and the idle config always scales down instances. When using ephemeral runners, these two configurations are always competing and results in idle ephemeral runners continuously being terminated. Is this the intended behaviour? Wouldn't it be best to keep the idle runners running instead of continuously cycling them?
If my intention is to have the idle runners remain, should I also configure the idle_config then to not teardown my idle ephemeral instances?
Beta Was this translation helpful? Give feedback.
All reactions