chore: scheduled_daily_briefing 실제 운영 경로 반영 (09:10, DB job config)

Made-with: Cursor
This commit is contained in:
happybell80 2026-03-19 15:25:07 +09:00
parent c0a3478dd2
commit de13708e5c

View File

@ -1,25 +1,68 @@
{
"name": "robeing-scheduled-daily-briefing",
"name": "robeing-daily-headlines-actual-runtime",
"nodes": [
{
"parameters": {
"content": "실제 운영 경로 시각화용 문서입니다.\\nSSOT는 DOCS/workflow/*.md이며 이 JSON은 n8n 시각화 파생물입니다.",
"height": 120,
"width": 360,
"color": 5
},
"id": "sched-headlines-note-001",
"name": "SSOT Note",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [80, 40]
},
{
"parameters": {
"rule": {
"cronExpression": "0 9 * * 1-5"
"cronExpression": "10 9 * * 1-5"
}
},
"id": "sched-brief-001",
"name": "Schedule Trigger",
"id": "sched-headlines-001",
"name": "09:10 Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1,
"position": [220, 220]
"position": [120, 220]
},
{
"parameters": {
"jsCode": "return [{\n json: {\n scheduler_source: 'scheduled_jobs.daily_headlines',\n cron_expression: '10 9 * * mon-fri',\n channel_id: 'C09C98KK2TT',\n runtime: 'rb8001 APScheduler + DB loader'\n }\n}];"
},
"id": "sched-headlines-002",
"name": "DB Job Config",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [360, 220]
},
{
"parameters": {
"jsCode": "return [{\n json: {\n step: 'app.scheduler.jobs.daily_headlines._run_headlines_with_logging(channel_id)',\n channel_id: $json.channel_id,\n description: 'DB scheduler가 rb8001 내부 래퍼 함수를 직접 호출'\n }\n}];"
},
"id": "sched-headlines-003",
"name": "daily_headlines Wrapper",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [620, 220]
},
{
"parameters": {
"jsCode": "return [{\n json: {\n workflow: 'run_headlines_workflow(channel_id)',\n state_store: '/code/state/headlines_graph.sqlite',\n steps: [\n 'fetch_naver',\n 'fetch_sea',\n 'extract_terms',\n 'format',\n 'send'\n ],\n channel_id: $json.channel_id\n }\n}];"
},
"id": "sched-headlines-004",
"name": "LangGraph Workflow",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [900, 220]
},
{
"parameters": {
"method": "POST",
"url": "=http://192.168.219.52:8505/api/v1/briefing",
"url": "=http://192.168.219.52:8505/api/news/naver/startup-headlines",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\"mode\":\"daily_briefing\",\"company_id\":\"companyx\",\"topic\":\"business\",\"limit\":10}",
"jsonBody": "={\"format\":\"slack\"}",
"options": {
"response": {
"response": {
@ -28,42 +71,145 @@
}
}
},
"id": "sched-brief-002",
"name": "Call skill-news",
"id": "sched-headlines-005",
"name": "skill-news Naver Headlines",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [470, 220]
"position": [1180, 140]
},
{
"parameters": {
"jsCode": "const body = $json.body || {};\nreturn { channel: 'C_DAILY_BRIEFING', text: body.message || body.summary || '브리핑 결과가 비어 있습니다.' };"
"method": "POST",
"url": "=http://192.168.219.52:8505/api/news/sea/headlines",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\"format\":\"json\"}",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
}
},
"id": "sched-brief-003",
"name": "Build Slack Message",
"id": "sched-headlines-006",
"name": "skill-news SEA Headlines",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [1180, 300]
},
{
"parameters": {
"jsCode": "return [{\n json: {\n step: 'rb8001 headlines_workflow.format_node',\n channel_id: $item(0).$node['LangGraph Workflow'].json.channel_id,\n summary: [\n '네이버 Slack 텍스트 수신',\n '동남아 소식 섹션 삽입',\n '키워드 요약 미삽입',\n '클로징 후 명언, 마지막 빈줄 2줄'\n ],\n naver_endpoint: '/api/news/naver/startup-headlines',\n sea_endpoint: '/api/news/sea/headlines'\n }\n}];"
},
"id": "sched-headlines-007",
"name": "Format Briefing Text",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [700, 220]
"position": [1460, 220]
},
{
"parameters": {
"resource": "message",
"operation": "post",
"channel": "={{ $json.channel }}",
"text": "={{ $json.text }}",
"channel": "={{ $json.channel_id }}",
"text": "={{ 'rb8001 headlines_workflow.send_node -> chat_postMessage' }}",
"otherOptions": {}
},
"id": "sched-brief-004",
"name": "Post to Slack",
"id": "sched-headlines-008",
"name": "Slack Delivery",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [940, 220]
"position": [1720, 220]
}
],
"connections": {
"Schedule Trigger": { "main": [[{ "node": "Call skill-news", "type": "main", "index": 0 }]] },
"Call skill-news": { "main": [[{ "node": "Build Slack Message", "type": "main", "index": 0 }]] },
"Build Slack Message": { "main": [[{ "node": "Post to Slack", "type": "main", "index": 0 }]] }
"09:10 Trigger": {
"main": [
[
{
"node": "DB Job Config",
"type": "main",
"index": 0
}
]
]
},
"DB Job Config": {
"main": [
[
{
"node": "daily_headlines Wrapper",
"type": "main",
"index": 0
}
]
]
},
"daily_headlines Wrapper": {
"main": [
[
{
"node": "LangGraph Workflow",
"type": "main",
"index": 0
}
]
]
},
"LangGraph Workflow": {
"main": [
[
{
"node": "skill-news Naver Headlines",
"type": "main",
"index": 0
},
{
"node": "skill-news SEA Headlines",
"type": "main",
"index": 0
}
]
]
},
"skill-news Naver Headlines": {
"main": [
[
{
"node": "Format Briefing Text",
"type": "main",
"index": 0
}
]
]
},
"skill-news SEA Headlines": {
"main": [
[
{
"node": "Format Briefing Text",
"type": "main",
"index": 0
}
]
]
},
"Format Briefing Text": {
"main": [
[
{
"node": "Slack Delivery",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": { "templateCredsSetupCompleted": true, "instanceId": "robeing-scheduler" }
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "robeing-scheduler"
}
}