chore: scheduled_daily_briefing 실제 운영 경로 반영 (09:10, DB job config)
Made-with: Cursor
This commit is contained in:
parent
c0a3478dd2
commit
de13708e5c
@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user