feat(agent-office): youtube_publisher 에이전트 + 30s 폴링
- YoutubePublisherAgent: 음악 파이프라인의 *_pending 상태를 폴링하여 텔레그램 단일 채널로 단계별 검토 요청 발송, reply 수신 시 의도 분류 후 music-lab에 feedback POST - service_proxy: pipeline list/get/feedback/telegram-msg/lookup-by-msg 헬퍼 5종 추가 (MUSIC_LAB_URL 사용) - scheduler: 30초 interval로 poll_state_changes 실행 - telegram webhook: reply_to_message 가 파이프라인 메시지면 youtube_publisher 로 라우팅 (슬래시 명령보다 우선) - 테스트 4종 추가 (4 PASS)
This commit is contained in:
@@ -34,6 +34,11 @@ async def _send_youtube_weekly_report():
|
||||
if agent:
|
||||
await agent.send_weekly_report()
|
||||
|
||||
async def _poll_pipelines():
|
||||
agent = AGENT_REGISTRY.get("youtube_publisher")
|
||||
if agent:
|
||||
await agent.poll_state_changes()
|
||||
|
||||
def init_scheduler():
|
||||
scheduler.add_job(_run_stock_schedule, "cron", hour=7, minute=30, id="stock_news")
|
||||
scheduler.add_job(_run_blog_schedule, "cron", hour=10, minute=0, id="blog_pipeline")
|
||||
@@ -41,4 +46,5 @@ def init_scheduler():
|
||||
scheduler.add_job(_run_youtube_research, "cron", hour=9, minute=0, id="youtube_research")
|
||||
scheduler.add_job(_send_youtube_weekly_report, "cron", day_of_week="mon", hour=8, minute=0, id="youtube_weekly_report")
|
||||
scheduler.add_job(_check_idle_breaks, "interval", seconds=60, id="idle_check")
|
||||
scheduler.add_job(_poll_pipelines, "interval", seconds=30, id="pipeline_poll")
|
||||
scheduler.start()
|
||||
|
||||
Reference in New Issue
Block a user