This rewrites the top-level loop of hydra-evaluator in C++. The Perl stuff is moved into hydra-eval-jobset. (Rewriting the entire evaluator would be nice but is a bit too much work.) The new version has some advantages: * It can run multiple jobset evaluations in parallel. * It uses PostgreSQL notifications so it doesn't have to poll the database. So if a jobset is triggered via the web interface or from a GitHub / Bitbucket webhook, evaluation of the jobset will start almost instantaneously (assuming the evaluator is not at its concurrency limit). * It imposes a timeout on evaluations. So if e.g. hydra-eval-jobset hangs connecting to a Mercurial server, it will eventually be killed.
21 lines
450 B
Makefile
21 lines
450 B
Makefile
EXTRA_DIST = \
|
|
$(distributable_scripts) \
|
|
hydra-eval-guile-jobs.in
|
|
|
|
distributable_scripts = \
|
|
hydra-init \
|
|
hydra-eval-jobset \
|
|
hydra-server \
|
|
hydra-update-gc-roots \
|
|
hydra-s3-backup-collect-garbage \
|
|
hydra-create-user \
|
|
hydra-notify \
|
|
hydra-send-stats \
|
|
nix-prefetch-git \
|
|
nix-prefetch-bzr \
|
|
nix-prefetch-hg
|
|
|
|
bin_SCRIPTS = \
|
|
$(distributable_scripts) \
|
|
hydra-eval-guile-jobs
|