diff --git a/biz/ffmpeg.py b/biz/ffmpeg.py index 340211e..8b66413 100644 --- a/biz/ffmpeg.py +++ b/biz/ffmpeg.py @@ -16,10 +16,11 @@ logger = logging.getLogger('biz/ffmpeg') def parse_ffmpeg_task(task_info, template_info): tracer = get_tracer(__name__) - with tracer.start_as_current_span("parse_ffmpeg_task"): + with tracer.start_as_current_span("parse_ffmpeg_task") as span: tasks = [] # 中间片段 task_params_str = task_info.get("taskParams", "{}") + span.set_attribute("task_params", task_params_str) task_params = json.loads(task_params_str) for part in template_info.get("video_parts"): source = parse_video(part.get('source'), task_params, template_info) @@ -87,8 +88,8 @@ def parse_video(source, task_params, template_info): logger.debug("no video found for placeholder: " + placeholder_id) return None else: - # TODO: Random Pick / Policy Pick - new_sources = new_sources[0].get("url") + _pick_source = new_sources.pop(0) + new_sources = _pick_source.get("url") if new_sources.startswith("http"): _, source_name = os.path.split(new_sources) oss.download_from_oss(new_sources, source_name) diff --git a/biz/task.py b/biz/task.py index 0cacded..d7157bc 100644 --- a/biz/task.py +++ b/biz/task.py @@ -13,6 +13,8 @@ def start_task(task_info): with tracer.start_as_current_span("start_task") as span: task_info = api.normalize_task(task_info) span.set_attribute("task", json.dumps(task_info)) + span.set_attribute("scenicId", task_info.get("scenicId", "?")) + span.set_attribute("templateId", task_info.get("templateId")) template_info = get_template_def(task_info.get("templateId")) api.report_task_start(task_info) ffmpeg_task = parse_ffmpeg_task(task_info, template_info)