Description
Really big releases can swamp the build queue and make normal people wait hours for their crate to get built and manual de-prioritization requires human intervention, so some sort of owner-based backoff would be a good automatic solution.
The basic idea is that if over n
crates with the same owner are present within the build queue at the same time, x0
of their crates get the -1
priority level, x1
crates get the -2
priority level, ad nausea.
Basically, it gradually pushes back more and more crates based on how many an owner is currently building so that it's fair to everyone, the owner still gets some of their crates built within a timely manner and all of the normal people get pushed to the front of the line.
It also prevents the (terrifying) scenario where two or more biggies are published at the same time, so instead of the first to publish getting all of their crates built and the latter ones waiting hours for any of their crates to build, they both actually get some crates built within a reasonable time span.
Additionally, it also doesn't punish big publishers who just want to make a patch release of some sort, if people-who-publish-50-crates-at-a-time
want to do a one-off random release for a patch or something they aren't permanently in a de-prioritized state even though they've only released one single crate (opposed to the manual de-prioritization where they are unconditionally pushed back in the queue)