diff options
author | Erich Eckner <git@eckner.net> | 2018-06-01 11:19:05 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-06-01 11:19:05 +0200 |
commit | 2944fd6d91d437147521c48b6c9d30ab50755152 (patch) | |
tree | 19ff45c8a74f0ffe5c86da59b38246d01c417283 | |
parent | 265d12032a1f1fb1b177444d86e90ace5c244c2a (diff) | |
download | builder-2944fd6d91d437147521c48b6c9d30ab50755152.tar.xz |
lib/mysql-functions, bin/return-assignment: keep build_slaves information synchronously up-to-date
-rwxr-xr-x | bin/return-assignment | 8 | ||||
-rwxr-xr-x | lib/mysql-functions | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/bin/return-assignment b/bin/return-assignment index dcbd62e..2f05495 100755 --- a/bin/return-assignment +++ b/bin/return-assignment @@ -161,7 +161,9 @@ if [ "$5" = 'ERROR' ]; then printf 'COMMIT;\n' printf 'UPDATE `build_slaves`' printf ' SET `build_slaves`.`currently_building`=NULL,' - printf ' `build_slaves`.`logged_lines`=NULL' + printf ' `build_slaves`.`last_action`=NULL,' + printf ' `build_slaves`.`logged_lines`=NULL,' + printf ' `build_slaves`.`trials`=NULL' printf ' WHERE `build_slaves`.`id`=from_base64("%s");\n' \ "$( printf '%s' "${slave_id}" | \ @@ -645,7 +647,9 @@ trigger_mirror_refreshs # remove from build slave's `currently_building` printf 'UPDATE `build_slaves`' printf ' SET `build_slaves`.`currently_building`=NULL,' - printf ' `build_slaves`.`logged_lines`=NULL' + printf ' `build_slaves`.`last_action`=NULL,' + printf ' `build_slaves`.`logged_lines`=NULL,' + printf ' `build_slaves`.`trials`=NULL' printf ' WHERE `build_slaves`.`currently_building`=from_base64("%s");\n' \ "$( printf '%s' "${build_assignment_id}" | \ diff --git a/lib/mysql-functions b/lib/mysql-functions index cb76dac..2670c9b 100755 --- a/lib/mysql-functions +++ b/lib/mysql-functions @@ -900,17 +900,19 @@ mysql_cleanup() { printf 'SELECT MAX(`ssh_log`.`date`) FROM `ssh_log`' printf ' WHERE `ssh_log`.`build_slave`=`build_slaves`.`id`' printf ')) > "1:00:00";\n' - # remove `last_action` and `logged_lines` from buildslaves without an assignment + # remove `last_action`, `trials` and `logged_lines` from buildslaves without an assignment if [ "${operator}" = 'DELETE' ]; then printf 'UPDATE `build_slaves`' printf ' SET `build_slaves`.`last_action`=NULL,' - printf ' `build_slaves`.`logged_lines`=NULL' + printf ' `build_slaves`.`logged_lines`=NULL,' + printf ' `build_slaves`.`trials`=NULL' else printf 'SELECT COUNT(1) FROM `build_slaves`' fi printf ' WHERE `build_slaves`.`currently_building` IS NULL' printf ' AND (`build_slaves`.`last_action` IS NOT NULL' - printf ' OR `build_slaves`.`logged_lines` IS NOT NULL);\n' + printf ' OR `build_slaves`.`logged_lines` IS NOT NULL' + printf ' OR `build_slaves`.`trials` IS NOT NULL);\n' } | \ mysql_run_query 'unimportant' } |