优化启动代码
This commit is contained in:
23
main.py
23
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}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user