feat(web): keep unattended watcher alive at empty queue
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-09-03 13:54:14 +08:00
parent c334bb1437
commit 0bbe442c41
2 changed files with 24 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ SCHEDULER_PUSH_RETRIES="${WBV2_PUSH_RETRIES:-6}"
WATCHDOG_INTERVAL="${WBV2_WATCHDOG_INTERVAL:-10}"
WATCHDOG_RESTART_DELAY="${WBV2_WATCHDOG_RESTART_DELAY:-5}"
AUTO_AUTHORIZE="${WBV2_AUTO_AUTHORIZE:-1}"
WAIT_ON_EMPTY="${WBV2_WAIT_ON_EMPTY:-1}"
# Keep repository evidence on disk while placing compiler/transient caches in
# RAM. Eight compile jobs is the repository's stability limit.
@@ -46,9 +47,13 @@ start_scheduler() {
start_watchdog() {
local pid_file="$CONTROL_DIR/my-tools-watchdog.pid"
local auto_authorize_args=()
local wait_on_empty_args=()
if test "$AUTO_AUTHORIZE" != "0"; then
auto_authorize_args+=(--auto-authorize)
fi
if test "$WAIT_ON_EMPTY" != "0"; then
wait_on_empty_args+=(--wait-on-empty)
fi
if test -f "$pid_file"; then
local watchdog_pid
watchdog_pid="$(tr -d '[:space:]' < "$pid_file")"
@@ -64,6 +69,7 @@ start_watchdog() {
--max-iterations "$SCHEDULER_MAX_ITERATIONS" \
--push-retries "$SCHEDULER_PUSH_RETRIES" \
"${auto_authorize_args[@]}" \
"${wait_on_empty_args[@]}" \
--commit --push \
> "$CONTROL_DIR/my-tools-watchdog.stdout.log" 2>&1 < /dev/null &
printf 'watchdog launch pid: %s\n' "$!"