From 498b490bac2edc8e1603fdfb29f50fd4f9bc83c9 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Sun, 23 Aug 2026 12:44:50 +0800 Subject: [PATCH] fix: document single-instance constraint for embedded Beat & optimize synchronize_session - entrypoint-worker.sh: prominent deployment constraint warning (replicas=1 only) - generation_task_repository.py: synchronize_session=False for cleanup (no post-update session sync needed) --- infra/docker/entrypoint-worker.sh | 6 ++++-- .../adapters/sqlalchemy_impl/generation_task_repository.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/infra/docker/entrypoint-worker.sh b/infra/docker/entrypoint-worker.sh index 919bfc933..f2e208d96 100755 --- a/infra/docker/entrypoint-worker.sh +++ b/infra/docker/entrypoint-worker.sh @@ -6,8 +6,10 @@ set -e CONCURRENCY="${WORKER_CONCURRENCY:-2}" -# 启用 -B 标志嵌入 celery beat(单 worker 实例,足够安全) -# beat 负责定期触发 pending 超时清理等定时任务 +# ⚠️ 部署约束:此 Worker 必须且只能运行单实例(replicas=1) +# -B 标志嵌入 celery beat,beat 负责定期触发 pending 超时清理等定时任务 +# 多实例部署会导致每个 Worker 独立运行 Beat,造成定时任务重复执行 +# 若需横向扩展 Worker,必须将 Beat 拆分为独立服务(celery beat -A worker_app.celery_app) exec celery \ -A worker_app.celery_app \ worker \ diff --git a/packages/adapters/sqlalchemy_impl/generation_task_repository.py b/packages/adapters/sqlalchemy_impl/generation_task_repository.py index b9d318672..75f394edc 100755 --- a/packages/adapters/sqlalchemy_impl/generation_task_repository.py +++ b/packages/adapters/sqlalchemy_impl/generation_task_repository.py @@ -344,7 +344,7 @@ class SQLAlchemyGenerationTaskRepository: GenerationTaskModel.error_info: error_info, GenerationTaskModel.completed_at: datetime.now(timezone.utc), }, - synchronize_session="fetch", + synchronize_session=False, ) ) self.session.commit()