Files
FrameTour-RenderWorker/biz/task.py
2025-09-24 04:51:12 +08:00

39 lines
1.3 KiB
Python

import json
import logging
from opentelemetry.trace import Status, StatusCode
# 使用新的服务容器架构
from services.service_container import get_task_service, register_default_services
from telemetry import get_tracer
logger = logging.getLogger(__name__)
# 确保服务已注册
register_default_services()
def start_task(task_info):
"""启动任务处理(保持向后兼容的接口)"""
tracer = get_tracer(__name__)
with tracer.start_as_current_span("start_task_legacy") as span:
try:
# 使用服务容器获取任务服务
task_service = get_task_service()
# 使用新的任务服务处理
result = task_service.process_task(task_info)
if result:
span.set_status(Status(StatusCode.OK))
logger.info("Task completed successfully: %s", task_info.get("id"))
else:
span.set_status(Status(StatusCode.ERROR))
logger.error("Task failed: %s", task_info.get("id"))
return None # 保持原有返回值格式
except Exception as e:
span.set_status(Status(StatusCode.ERROR))
logger.error("Task processing failed: %s", e, exc_info=True)
return None