216 lines
5.9 KiB
JSON
216 lines
5.9 KiB
JSON
{
|
|
"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": "10 9 * * 1-5"
|
|
}
|
|
},
|
|
"id": "sched-headlines-001",
|
|
"name": "09:10 Trigger",
|
|
"type": "n8n-nodes-base.scheduleTrigger",
|
|
"typeVersion": 1,
|
|
"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/news/naver/startup-headlines",
|
|
"sendBody": true,
|
|
"specifyBody": "json",
|
|
"jsonBody": "={\"format\":\"slack\"}",
|
|
"options": {
|
|
"response": {
|
|
"response": {
|
|
"fullResponse": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"id": "sched-headlines-005",
|
|
"name": "skill-news Naver Headlines",
|
|
"type": "n8n-nodes-base.httpRequest",
|
|
"typeVersion": 4.2,
|
|
"position": [1180, 140]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"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-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": [1460, 220]
|
|
},
|
|
{
|
|
"parameters": {
|
|
"resource": "message",
|
|
"operation": "post",
|
|
"channel": "={{ $json.channel_id }}",
|
|
"text": "={{ 'rb8001 headlines_workflow.send_node -> chat_postMessage' }}",
|
|
"otherOptions": {}
|
|
},
|
|
"id": "sched-headlines-008",
|
|
"name": "Slack Delivery",
|
|
"type": "n8n-nodes-base.slack",
|
|
"typeVersion": 2,
|
|
"position": [1720, 220]
|
|
}
|
|
],
|
|
"connections": {
|
|
"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"
|
|
}
|
|
}
|