OXYGENHUB

A job held for a busy runner shows as running and waits for hours: hub run 536 build sat 2 h behind a job at its time limit issue #100 open andymccall opened this · 0 comments

andymccall

Seen 2026-11-01 on andymccall/oxygenhub run #536: the build job showed running on earth-1 from about 16:27 to 18:19 GMT, but earth-1 had not started it. earth-1 was busy with job 13659 (doomsdayone/metalgear2), which ran to its time limit (exit None (stopped at the time limit) at 18:19:50); the build was claimed four seconds later (job 13837 … build at 18:19:54). Everything after build (coverage, dist, test, test-postgres) waited behind it, so a two-minute deploy took two hours.

Two problems:

  1. The run page says running when the job is only placed. A job held for a runner that is busy should read "waiting for earth-1 (busy with doomsdayone/metalgear2 #… until …)", not running, and its time should not count as run time.
  2. A hold for a better runner has no bound. Placement held the job for earth-1 (it holds the build cache) for the whole of another job's two hours. A hold should end after a short while (minutes, against the expected time of the job it waits behind) and the job go to the next runner that can take it.

Tests: a job placed on a busy runner shows waiting, not running; a hold that outlasts its bound releases the job to another runner.

andymccall set labels bug ·