From 32e1e8fd24b414b02f0092e0a5261132944cdbaa Mon Sep 17 00:00:00 2001 From: "mark.tian" Date: Wed, 10 Dec 2025 08:57:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=AF=E5=8A=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/main.py b/main.py index 32b94bb..30a022d 100644 --- a/main.py +++ b/main.py @@ -17,17 +17,14 @@ from app.logger import LoggerManager, get_main_logger LoggerManager.setup_logging() logger = get_main_logger() -# Celery Worker 进程管理 -celery_worker_process = None - def start_celery_worker(): """启动 Celery Worker""" try: logger.info("🌿 启动Celery Worker...") - # 使用subprocess启动独立的celery worker进程 - subprocess.run([ + # 构建Worker启动命令 - 独立进程启动 + worker_cmd = [ sys.executable, "-m", "celery", "-A", "app.celery_app", # 指定celery应用模块 "worker", @@ -35,10 +32,12 @@ def start_celery_worker(): '--pool=solo', '--concurrency=1', '--time-limit=300', # 5分钟任务超时 - '--soft-time-limit=240', # 4分钟软超时 - ], check=True) + '--soft-time-limit=240' # 4分钟软超时 + ] + subprocess.run(worker_cmd, check=True) except Exception as e: logger.error(f"❌ Celery Worker 启动失败: {e}") + return None def start_celery_beat(): @@ -51,14 +50,16 @@ def start_celery_beat(): import os schedule_file = os.path.join(tempfile.gettempdir(), 'celerybeat-schedule') - # 使用subprocess启动独立的celery beat进程 - subprocess.run([ + # 构建Beat启动命令 - 独立进程启动 + beat_cmd = [ sys.executable, "-m", "celery", "-A", "app.celery_app", # 指定celery应用模块 "beat", '--loglevel=info', - f'--schedule={schedule_file}', - ], check=True) + f'--schedule={schedule_file}' + ] + + subprocess.run(beat_cmd, check=True) except Exception as e: logger.error(f"❌ Celery Beat 启动失败: {e}")