禁用除新订单服务号广播外的所有 Celery/Beat 任务,仅保留 dingdan_guangbo

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-06-24 00:57:42 +08:00
parent 49ba67ecaf
commit ef2f30f321
13 changed files with 131 additions and 150 deletions

13
utils/celery_guard.py Normal file
View File

@@ -0,0 +1,13 @@
"""
Celery 任务安全闸:生产环境仅允许「新订单服务号广播」任务执行。
"""
from django.conf import settings
_DISABLED_MSG = 'CELERY_ONLY_ORDER_BROADCAST非新订单广播任务已禁止执行'
def celery_non_broadcast_blocked():
"""若当前禁止非广播任务,返回说明字符串;否则返回 None。"""
if getattr(settings, 'CELERY_ONLY_ORDER_BROADCAST', True):
return _DISABLED_MSG
return None

View File

@@ -850,6 +850,8 @@ STATUS_NOTIFY_TEXT = {
def schedule_order_status_chat_push(dingdan_id):
"""订单状态变更后,事务提交后异步推送群聊状态更新"""
if getattr(settings, 'CELERY_ONLY_ORDER_BROADCAST', True):
return
if not dingdan_id:
return