Skip to content

feat(knowledge): consume agent-knowledge indexing via RabbitMQ queue

변재혁 requested to merge feature/DOP-AI_knowledge_scratch into develop-log

사전지식 인덱싱 DB 폴러를 RabbitMQ 큐 컨슈머로 대체(fire-and-forget). 큐 미설정 시 기존 DB 폴러로 폴백. 사전지식 도메인 전용 DB 커넥션 풀 분리.

  • app/messaging/knowledge_consumers.py: make_knowledge_handler(봉투→검증→queue_jobs →process_job(worker_id=None)). claim-check 미발행, 로그 본문 미노출
  • envelope.py: reply Optional(fire-and-forget 봉투)
  • main.py: build_knowledge_consumers + 폴러 게이팅(_runs_knowledge_poller)
  • consumer.py: QueueConsumer queue_arguments 파라미터화
  • schemas.py: AgentKnowledgeIndexRequest(식별자만, extra=forbid)
  • config: knowledge_queue/knowledge_prefetch_count(=1, 파일 하나씩)
  • db.py: knowledge 전용 엔진/KnowledgeSessionLocal(agent_knowledge_db_pool_size=10), 라우터·컨슈머·폴러가 사용(search API 와 chat 첨부 커넥션 분리)
  • docs/ops/knowledge-queue-consumer.md, .env.example

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Merge request reports