增强@批处理执行日志,提升可观测性
- 增加定时@抽取任务开始/结束日志,输出窗口参数、处理条数与耗时 - 在DB批处理层记录查询命中、前3条样本明细、失败样本ID,便于快速排障 - 增加窗口参数异常修正日志,避免误配置导致行为不可见 - 在社交图增量写入处增加跳过/完成日志,明确是否产生新增@关系
This commit is contained in:
@@ -373,6 +373,11 @@ class MessageStorage:
|
||||
4. 默认只处理 10~20 分钟前的数据,减少对热数据区间的扫描压力。
|
||||
"""
|
||||
try:
|
||||
started_at = datetime.now()
|
||||
logger.info(
|
||||
"触发定时@抽取任务: "
|
||||
f"batch_size={batch_size}, window=[NOW-{window_start_minutes}m, NOW-{window_end_minutes}m)"
|
||||
)
|
||||
stats = self.message_db.process_pending_mentions(
|
||||
batch_size=batch_size,
|
||||
window_start_minutes=window_start_minutes,
|
||||
@@ -380,15 +385,18 @@ class MessageStorage:
|
||||
)
|
||||
total = int(stats.get("total", 0))
|
||||
if total == 0:
|
||||
logger.debug("待处理@抽取队列为空,本轮跳过")
|
||||
elapsed_ms = int((datetime.now() - started_at).total_seconds() * 1000)
|
||||
logger.info(f"定时@抽取任务结束: 无待处理数据, 耗时={elapsed_ms}ms")
|
||||
return
|
||||
|
||||
elapsed_ms = int((datetime.now() - started_at).total_seconds() * 1000)
|
||||
logger.info(
|
||||
"批量@抽取完成: "
|
||||
"定时@抽取任务结束: "
|
||||
f"读取={stats.get('total', 0)}, "
|
||||
f"处理={stats.get('processed', 0)}, "
|
||||
f"含@={stats.get('with_mentions', 0)}, "
|
||||
f"失败={stats.get('failed', 0)}"
|
||||
f"失败={stats.get('failed', 0)}, "
|
||||
f"耗时={elapsed_ms}ms"
|
||||
)
|
||||
except Exception as e:
|
||||
logger.exception(f"定时处理@抽取任务出错: {e}")
|
||||
|
||||
Reference in New Issue
Block a user