Skip to content

Unthrottle the runner feeder

What does this MR do?

This MR removes the logic that was throttling the rate at which runner configs are submitted to the runners channel.

Why was this MR needed?

feedRunners is already rate-limited by receives on the runners channel. Sleeping in the inner loop causes highly-concurrent runners to pick up jobs slowly at startup. The current code does a slow ramp of the concurrency factor, enabling a number of runners equal to the number of runner configs within each config reload period.

Removing the throttling also simplifies the code, so that's a plus.

Are there points in the code the reviewer needs to double check?

Based on the tests that exist in the repo, I don't see a good way to create unit tests for this function as-is. Please let me know if there is a reasonable way to test this without performing a larger refactoring.

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Edited by 🤖 GitLab Bot 🤖

Merge request reports