Traditionally, concurrency groups enforce strict ordering of the jobs within them. Concurrent jobs will be limited to the number set for the group, and will only start executing in the order they were created. 📝
However, sometimes you only need the limit, and it's fine for eligible jobs to run in whatever order their dependencies allow. 🏃🏻♀️
Which is why we've added a concurrency_method
step attribute you can set to 'eager'. This will allow any job, up to the concurrency limit, to start as soon as it's eligible, regardless of creation order. 🔀
As an example:
1 2 3 4 5
steps: - command: echo "Using a limited resource, only 10 at a time, but we don't care about order" concurrency_group: saucelabs concurrency: 10 concurrency_method: eager
For more information, check out our guide to Controlling Concurrency.
Create an account to get started with a 30-day free trial. No credit card required.