| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """标题质量评分 XXL-JOB Handler
- XXL-JOB Admin:
- 执行器: long-articles-agentic-src
- 处理器: articleQualityTitle
- 参数: limit=100
- 超时: 建议 ≥600s(100条≈5批×30s+延迟)
- """
- import logging
- from src.infra.xxl_jobs import xxl_job
- from src.domains.content_quality import ArticleQualityTitle, ContentQualityConst
- from src.handlers._utils import get_db, parse_limit
- from src.handlers._logging import get_task_logger
- logger = logging.getLogger(__name__)
- @xxl_job("articleQualityTitle")
- async def article_quality_title(param: str) -> dict:
- limit = parse_limit(param, ContentQualityConst.TITLE_DEAL_LIMIT)
- tlog = get_task_logger("articleQualityTitle")
- await tlog.task_started(limit=limit)
- try:
- mysql = get_db().mysql_manager("long_articles")
- service = ArticleQualityTitle(mysql, task_logger=tlog)
- result = await service.deal(limit=limit)
- except Exception as e:
- logger.exception("标题评分失败")
- await tlog.task_failed(e)
- return {"code": 500, "msg": "异常"}
- logger.info(
- "done: seeded=%d evaluated=%d",
- result["seeded"],
- result["evaluated"],
- )
- await tlog.task_completed(**result)
- return {
- "code": 200,
- "msg": f"seeded={result['seeded']} evaluated={result['evaluated']}",
- }
|