From e6ea8a0de8a66c40da31de9e60ada42e4a130512 Mon Sep 17 00:00:00 2001 From: zj1123581321 Date: Tue, 6 Oct 2026 14:48:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E9=BD=90=E9=83=A8=E7=BD=B2=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=85=B3=E9=97=AD=E5=AE=BD=E9=99=90=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor Agent-Executor: cursor Agent-Model: gpt-5.6-luna-xhigh Agent-Effort: unknown Dispatch-Id: dlg-20261006-064511-22b4c0 Task-Id: VideoTranscriptAPI-20261006-04 --- docker/docker-compose.deploy.yml | 2 ++ tests/deployment/test_pull_and_deploy.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/docker/docker-compose.deploy.yml b/docker/docker-compose.deploy.yml index be40cb02..7090614b 100644 --- a/docker/docker-compose.deploy.yml +++ b/docker/docker-compose.deploy.yml @@ -11,6 +11,8 @@ services: - .env ports: - "8200:8000" + # 必须大于内部关闭预算 20s,否则 SIGKILL 可能打断优雅关闭流程。 + stop_grace_period: 30s volumes: - ./config:/app/config - ./data:/app/data diff --git a/tests/deployment/test_pull_and_deploy.py b/tests/deployment/test_pull_and_deploy.py index d34b7c46..f6687678 100644 --- a/tests/deployment/test_pull_and_deploy.py +++ b/tests/deployment/test_pull_and_deploy.py @@ -3,6 +3,8 @@ import time from pathlib import Path +import yaml + SCRIPT = Path(__file__).parents[2] / "docker" / "pull_and_deploy.sh" PUSH_SCRIPT = Path(__file__).parents[2] / "docker" / "push_to_ghcr.sh" @@ -444,6 +446,12 @@ def test_compose_template_uses_legacy_compatible_env_file_syntax(): assert "- .env" in source +def test_compose_template_sets_stop_grace_period(): + source = (SCRIPT.parent / "docker-compose.deploy.yml").read_text(encoding="utf-8") + compose = yaml.safe_load(source) + assert compose["services"]["video-transcript-api"]["stop_grace_period"] == "30s" + + def test_build_script_uses_only_git_sha_tag(): source = PUSH_SCRIPT.read_text(encoding="utf-8") assert 'IMAGE_REF="${REGISTRY_IMAGE}:${GIT_SHA}"' in source