iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
AI & Data

用 Grafana 打造癌症資料視覺化平台:從資料清洗到AI預測呈現系列 第 20

自動化預測排程(Cron Job / n8n 實作)

  • 分享至 

  • xImage
  •  

1. 什麼是自動化排程?

當資料或 AI 模型需要「定期更新」時,我們不希望手動執行,而是交給系統自動跑。
常見方式包括:
● cron job(Linux / macOS 內建排程)
● n8n(視覺化自動化流程)
● Airflow / Prefect(專業資料工作流平台)

今天我們介紹前兩種最實用的。

2. 方法一:使用 Cron Job
如果你是用 macOS 或 Linux(WSL 也可),可以用 crontab:
輸入:

crontab -e

在裡面加上一行:

0 9 * * * python /path/to/your/cancer-dashboard/predict_and_insert.py >> /path/to/your/cancer-dashboard/logs/predict.log 2>&1

意思是:
每天早上9點執行一次 Python 預測程式,並把結果寫入 predict.log。

3. 方法二:使用n8n自動化流程
如果你希望「可視化設定流程」,可以使用 n8n(開源自動化工具)。
(1) 啟動 n8n 容器
在 docker-compose.yml 加入:

  n8n:
    image: n8nio/n8n
    container_name: n8n
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - GENERIC_TIMEZONE=Asia/Taipei
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin123

執行:

docker compose up -d n8n

打開瀏覽器進入 http://localhost:5678
登入帳號密碼:admin / admin123

(2) 建立自動化流程
a. 新增節點:「Cron」 → 設定每天 09:00 執行
b. 新增節點:「Execute Command」 → 指令輸入:

python /project/predict_and_insert.py

c. python /project/predict_and_insert.py
完成後按「Activate Workflow」,n8n 就會自動每天幫你執行一次預測腳本。

4. rafana 自動顯示新數據
Grafana 不需要特別設定,只要資料庫更新,它的 Dashboard 會自動抓最新的資料。
你可以在 Dashboard 設定:
● Refresh interval: 5m(每 5 分鐘更新一次)
● 或手動刷新

這樣,每天的預測結果都會在圖上自動延伸出新的一點。

5. 成果
現在整個系統是「全自動」的:

PostgreSQL ←→ Python 預測程式 ←→ Cron/n8n 自動執行 ←→ Grafana 即時顯示

● 病人新檢測數據 → 自動產生 AI 預測
● 預測結果 → 自動寫回資料庫
● Grafana → 自動顯示最新趨勢

這樣就形成一個完整的 癌症資料視覺化 AI 平台循環。


上一篇
自動化 AI 預測數據寫入資料庫
下一篇
打造「多病人切換」的互動式 Dashboard
系列文
用 Grafana 打造癌症資料視覺化平台:從資料清洗到AI預測呈現21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言