优化架构K8s 副本和队列
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from airshelf.celery import app
|
||||
|
||||
QUICK_QUEUE = "airshelf.quick"
|
||||
|
||||
|
||||
@app.task(bind=True, max_retries=3)
|
||||
def submit_ai_task(self, task_id: str) -> str:
|
||||
@@ -21,7 +23,7 @@ def generate_standalone_image_task(self, task_id: str) -> str:
|
||||
return task_id
|
||||
|
||||
|
||||
@app.task(bind=True, max_retries=0)
|
||||
@app.task(bind=True, max_retries=0, queue=QUICK_QUEUE)
|
||||
def extract_entities_task(self, task_id: str) -> str:
|
||||
"""实体提取的慢活(豆包思考模型流式,可达数十秒)在 worker 内跑,Web 层秒回不被占住、不再 502。
|
||||
幂等且失败自退费(见 run_extract_entities_task),故 max_retries=0,不向上抛重试。"""
|
||||
@@ -83,7 +85,7 @@ def generate_model_triview_task(self, task_id: str) -> str:
|
||||
return task_id
|
||||
|
||||
|
||||
@app.task(bind=True, max_retries=0)
|
||||
@app.task(bind=True, max_retries=0, queue=QUICK_QUEUE)
|
||||
def poll_free_video_task(self, task_id: str, attempt: int = 0) -> str:
|
||||
"""自由创作视频·worker 兜底轮询:每 30s 一次自重排(不依赖 celery beat),
|
||||
最多 60 次(约 30 分钟);用尽后只停止 Worker 兜底,不把业务任务判失败。
|
||||
@@ -119,7 +121,7 @@ def poll_free_video_task(self, task_id: str, attempt: int = 0) -> str:
|
||||
return task_id
|
||||
|
||||
|
||||
@app.task(bind=True, max_retries=0)
|
||||
@app.task(bind=True, max_retries=0, queue=QUICK_QUEUE)
|
||||
def drain_asset_reviews_task(self) -> str:
|
||||
"""全平台人脸审核兜底:未送审自动送火山、审核中自动拉绿/红盾。
|
||||
自重排(无 celery beat);eager 下不自转,避免单测死循环。"""
|
||||
|
||||
Reference in New Issue
Block a user