@@ -536,6 +536,32 @@ jobs:
536536 done
537537 done
538538
539+ - name : Pause legacy monitor dispatcher
540+ if : steps.config.outputs.env_sync_enabled == 'true'
541+ run : |
542+ set -euo pipefail
543+
544+ if [ "${WORKFLOW_TARGET:-configured}" = "hk-verify" ]; then
545+ echo "Skipping global dispatcher retirement for the isolated HK verify target."
546+ exit 0
547+ fi
548+
549+ scheduler_location="${CLOUD_SCHEDULER_LOCATION:-${CLOUD_RUN_REGION}}"
550+ legacy_monitor_job="interactive-brokers-monitor-dispatcher-scheduler"
551+ legacy_monitor_state="$(gcloud scheduler jobs describe "${legacy_monitor_job}" \
552+ --project="${GCP_PROJECT_ID}" \
553+ --location="${scheduler_location}" \
554+ --format='value(state)' 2>/dev/null || true)"
555+ if [ -z "${legacy_monitor_state}" ] || [ "${legacy_monitor_state}" = "PAUSED" ]; then
556+ exit 0
557+ fi
558+
559+ echo "Pausing legacy Cloud Scheduler job ${legacy_monitor_job} before removing its target configuration."
560+ gcloud scheduler jobs pause "${legacy_monitor_job}" \
561+ --project="${GCP_PROJECT_ID}" \
562+ --location="${scheduler_location}" \
563+ --quiet
564+
539565 - name : Sync Cloud Run environment
540566 if : steps.config.outputs.env_sync_enabled == 'true'
541567 env :
@@ -1192,6 +1218,7 @@ jobs:
11921218 --oidc-token-audience="${service_url}" \
11931219 --attempt-deadline=120s \
11941220 --max-retry-attempts=0 \
1221+ --max-retry-duration=0s \
11951222 --quiet
11961223 else
11971224 echo "Creating Cloud Scheduler precheck ${precheck_job_name} at ${desired_precheck_schedule}."
@@ -1206,6 +1233,7 @@ jobs:
12061233 --oidc-token-audience="${service_url}" \
12071234 --attempt-deadline=120s \
12081235 --max-retry-attempts=0 \
1236+ --max-retry-duration=0s \
12091237 --quiet
12101238 fi
12111239 if [ "${precheck_state}" = "PAUSED" ]; then
@@ -1227,12 +1255,16 @@ jobs:
12271255 esac
12281256 done
12291257
1230- python3 scripts/reconcile_cloud_runtime.py \
1231- --platform=ibkr \
1232- --project="${GCP_PROJECT_ID}" \
1233- --region="${CLOUD_RUN_REGION}" \
1234- --scheduler-location="${scheduler_location}" \
1235- --delete-legacy-schedulers
1258+ reconcile_args=(
1259+ --platform=ibkr
1260+ --project="${GCP_PROJECT_ID}"
1261+ --region="${CLOUD_RUN_REGION}"
1262+ --scheduler-location="${scheduler_location}"
1263+ )
1264+ if [ "${WORKFLOW_TARGET:-configured}" != "hk-verify" ]; then
1265+ reconcile_args+=(--delete-legacy-schedulers)
1266+ fi
1267+ python3 scripts/reconcile_cloud_runtime.py "${reconcile_args[@]}"
12361268
12371269 - name : Prune old Cloud Run revisions
12381270 if : steps.config.outputs.enabled == 'true'
0 commit comments