From 42a92eb6549f4ee5d6520fb6a3f3a8c6e7b2e86d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 13 Nov 2025 01:55:12 -0500 Subject: [PATCH] feat: add support for replace concurrency policy --- plugins/scheduler-docker-local/scheduler-run | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index 3ff3077b6..b83510684 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -59,7 +59,13 @@ trigger-scheduler-docker-local-scheduler-run() { fi if [[ "$concurrency_policy" == "replace" ]]; then - dokku_log_warn "Concurrency policy 'replace' is not supported for docker-local cron jobs" + local RUNNING_CONTAINERS="$("$DOCKER_BIN" container ls --filter "label=com.dokku.cron-id=$DOKKU_CRON_ID" --filter "status=running" --quiet || true)" + if [[ -n "$RUNNING_CONTAINERS" ]]; then + dokku_log_warn "Replacing running container for $DOKKU_CRON_ID" + "$DOCKER_BIN" container update --restart=no "$RUNNING_CONTAINERS" &>/dev/null || true + "$DOCKER_BIN" container stop "$RUNNING_CONTAINERS" >/dev/null && "$DOCKER_BIN" container kill "$RUNNING_CONTAINERS" &>/dev/null + plugn trigger scheduler-register-retired "$APP" "$RUNNING_CONTAINERS" + fi fi fi