From da1fd29a22126562513e88ca40cfdaccfe5048d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=A8=E6=88=B7CI=20Test?= Date: Sat, 11 Jul 2026 18:24:35 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E4=BF=AE=E5=A4=8Dblack=20+=20isort?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98=EF=BC=88task=5Fenqueue.py?= =?UTF-8?q?=20+=20=E9=99=90=E6=B5=81=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/app/core/task_enqueue.py | 16 +++++----------- tests/unit/test_task_queue_limit.py | 4 ++-- 2 files changed, 7 insertions(+), 13 deletions(-) mode change 100755 => 100644 tests/unit/test_task_queue_limit.py diff --git a/apps/api/app/core/task_enqueue.py b/apps/api/app/core/task_enqueue.py index 0b3048d65..a4c5f361b 100755 --- a/apps/api/app/core/task_enqueue.py +++ b/apps/api/app/core/task_enqueue.py @@ -6,8 +6,8 @@ from app.core.celery_app import celery_app logger = logging.getLogger(__name__) # ── 限流阈值常量(全系统统一管理,不要在业务代码里硬编码) ── -USER_PENDING_LIMIT = 3 # 单用户 pending 上限 -GLOBAL_PENDING_LIMIT = 20 # 全局 pending 上限 +USER_PENDING_LIMIT = 3 # 单用户 pending 上限 +GLOBAL_PENDING_LIMIT = 20 # 全局 pending 上限 class UserPendingLimitExceeded(Exception): @@ -71,9 +71,7 @@ def check_queue_limits( user_pending, user_pending_limit, ) - raise UserPendingLimitExceeded( - user_id=user_id, pending_count=user_pending, limit=user_pending_limit - ) + raise UserPendingLimitExceeded(user_id=user_id, pending_count=user_pending, limit=user_pending_limit) def _mark_task_failed_safely( @@ -157,9 +155,7 @@ def safe_enqueue_generation_task( user_pending, user_pending_limit, ) - exc = UserPendingLimitExceeded( - user_id=user_id, pending_count=user_pending, limit=user_pending_limit - ) + exc = UserPendingLimitExceeded(user_id=user_id, pending_count=user_pending, limit=user_pending_limit) _mark_task_failed_safely(task, generation_task_repository, log_prefix, str(exc)) raise exc @@ -201,9 +197,7 @@ def safe_enqueue_generation_task( exc: Exception = GlobalQueueFull(pending_count=global_after, limit=global_pending_limit) else: reason = f"用户 pending 超限(入队后): {user_after}/{user_pending_limit}" - exc = UserPendingLimitExceeded( - user_id=user_id, pending_count=user_after, limit=user_pending_limit - ) + exc = UserPendingLimitExceeded(user_id=user_id, pending_count=user_after, limit=user_pending_limit) logger.warning( "[队列限流] %s, task_id=%s, user_id=%s — 回滚状态为 failed", diff --git a/tests/unit/test_task_queue_limit.py b/tests/unit/test_task_queue_limit.py old mode 100755 new mode 100644 index 6a906df57..dc4e56b41 --- a/tests/unit/test_task_queue_limit.py +++ b/tests/unit/test_task_queue_limit.py @@ -1,8 +1,9 @@ """任务队列限流防护单元测试。""" + from __future__ import annotations -import sys import os +import sys from unittest.mock import MagicMock import pytest @@ -18,7 +19,6 @@ from app.core.task_enqueue import ( safe_enqueue_generation_task, ) - # --------------------------------------------------------------------------- # Mock helpers # ---------------------------------------------------------------------------