Am Freitag, den 05.06.2020, 07:33 -0400 schrieb Dan Eble:
> On May 24, 2020, at 06:51, Jonas Hahnfeld <hah...@hahnjo.de> wrote:
> > I'm currently researching how GitLab schedules jobs. Unfortunately it
> > seems to be first-come-first-serve, so no priority for currently online
> > specific runners. But every runner, if intermittent or not, has a
> > chance of getting a job assigned.
> 
> This has been disappointing.  I've seen a slower runner taking a job while a 
> faster one sits idle.  We could try increasing the check_interval option[1] 
> on the slower runners so that the faster ones are more likely to get jobs.

I agree that the system is missing a way to prioritize runners over
others. This has been requested since a long time, so I wouldn't bet
that such possibility is added soon.

If my traffic analysis is right, check_interval is a bit of a lie: It
sets the interval that the runner checks for new builds, but for
gitlab.com every request takes up to 1 min. I would guess that they are
implementing some form of queuing. Unfortunately, this means the
probability to get a build is not proportional to check_interval.
Additionally, the shared runners have a check_interval of 1s which
means they're basically always polling for jobs. We definitely want our
runners to get jobs whenever possible, so a high check_interval is
counter-productive as well.

The only "solution" I can think of is using tags on jobs and, for
example, only schedule doc builds on capable runners. However, this
doesn't work well with the shared runners where we can't add tags on
our own 😞

Jonas

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to