906b129f6a
Previously this function didn't actually have a lot of effect. If a build A had a dependency B, Hydra would start B first. But on the next scan through the queue, it would start A anyway, because of the "busy => 0" restriction. Now the queue runner won't start a build if a dependency is already running. (This is not necessarily optimal, since the build may have other dependencies that don't correspond to a build in the queue but could run. One day we'll start all Hydra builds in parallel...) Also, for performance, use computeFSClosure instead of "nix-store -qR". And don't bother with topological sorting because it didn't have an effect anyway since the database returns dependencies in arbitrary order. |
||
---|---|---|
.. | ||
hydra-build | ||
hydra-control | ||
hydra-create | ||
hydra-eval-guile-jobs.in | ||
hydra-evaluator | ||
hydra-init | ||
hydra-queue-runner | ||
hydra-server | ||
hydra-update-gc-roots | ||
Makefile.am | ||
nix-prefetch-bzr | ||
nix-prefetch-git | ||
nix-prefetch-hg |