This commit is contained in:
62
scheduler.py
62
scheduler.py
@@ -1635,6 +1635,18 @@ def run_whitepage_check():
|
||||
except Exception as e:
|
||||
logging.error(f"[Whitepage] [Check] 🚨 白頁檢查任務異常 | Error: {e}")
|
||||
_save_stats('whitepage_check', {"status": "Failed", "error": str(e)})
|
||||
try:
|
||||
from services.event_router import notify_failure
|
||||
notify_failure(
|
||||
task_name="run_whitepage_check",
|
||||
error=e,
|
||||
source="Scheduler.Whitepage",
|
||||
event_type="whitepage_check_failure",
|
||||
priority="P1",
|
||||
title="白頁檢查任務異常",
|
||||
)
|
||||
except Exception as _router_e:
|
||||
logging.error(f"[Whitepage] [Check] event_router 失敗: {_router_e}")
|
||||
|
||||
def start_scheduled_job():
|
||||
"""使用執行緒啟動任務,避免阻塞主程式"""
|
||||
@@ -2225,6 +2237,19 @@ def run_db_backup_task():
|
||||
)
|
||||
logging.error(f"[Scheduler] [Backup] ❌ 備份失敗: {result.get('error')}")
|
||||
_save_stats('db_backup', {"status": "Failed", "error": result.get("error")})
|
||||
try:
|
||||
from services.event_router import notify_failure
|
||||
notify_failure(
|
||||
task_name="run_db_backup_task",
|
||||
error=RuntimeError(result.get("error") or "database backup failed"),
|
||||
source="Scheduler.DBBackup",
|
||||
event_type="db_backup_failure",
|
||||
priority="P1",
|
||||
title="資料庫備份失敗",
|
||||
payload={"filename": result.get("filename")},
|
||||
)
|
||||
except Exception as _router_e:
|
||||
logging.error(f"[Scheduler] [Backup] event_router 失敗: {_router_e}")
|
||||
|
||||
try:
|
||||
from services.openclaw_learning_service import store_insight
|
||||
@@ -2243,6 +2268,18 @@ def run_db_backup_task():
|
||||
except Exception as e:
|
||||
logging.error(f"[Scheduler] [Backup] 🚨 任務異常 | Error: {e}")
|
||||
_save_stats('db_backup', {"status": "Error", "error": str(e)})
|
||||
try:
|
||||
from services.event_router import notify_failure
|
||||
notify_failure(
|
||||
task_name="run_db_backup_task",
|
||||
error=e,
|
||||
source="Scheduler.DBBackup",
|
||||
event_type="db_backup_failure",
|
||||
priority="P1",
|
||||
title="資料庫備份排程異常",
|
||||
)
|
||||
except Exception as _router_e:
|
||||
logging.error(f"[Scheduler] [Backup] event_router 失敗: {_router_e}")
|
||||
try:
|
||||
from services.notification_manager import NotificationManager
|
||||
NotificationManager()._send_telegram_messages([
|
||||
@@ -2298,6 +2335,19 @@ def run_backup_monitor_task():
|
||||
)
|
||||
logging.warning(f"[Scheduler] [BackupMonitor] ⚠️ 備份告警: {alert_reason}")
|
||||
NotificationManager()._send_telegram_messages([msg])
|
||||
try:
|
||||
from services.event_router import notify_failure
|
||||
notify_failure(
|
||||
task_name="run_backup_monitor_task",
|
||||
error=RuntimeError(alert_reason),
|
||||
source="Scheduler.BackupMonitor",
|
||||
event_type="backup_monitor_alert",
|
||||
priority="P2",
|
||||
title="資料庫備份健康告警",
|
||||
payload={"latest_file": info.get("filename"), "created_at": str(info.get("created_at"))},
|
||||
)
|
||||
except Exception as _router_e:
|
||||
logging.error(f"[Scheduler] [BackupMonitor] event_router 失敗: {_router_e}")
|
||||
|
||||
try:
|
||||
from services.openclaw_learning_service import store_insight
|
||||
@@ -2323,6 +2373,18 @@ def run_backup_monitor_task():
|
||||
except Exception as e:
|
||||
logging.error(f"[Scheduler] [BackupMonitor] 🚨 監控任務異常 | Error: {e}")
|
||||
_save_stats('backup_monitor', {"status": "Error", "error": str(e)})
|
||||
try:
|
||||
from services.event_router import notify_failure
|
||||
notify_failure(
|
||||
task_name="run_backup_monitor_task",
|
||||
error=e,
|
||||
source="Scheduler.BackupMonitor",
|
||||
event_type="backup_monitor_failure",
|
||||
priority="P2",
|
||||
title="資料庫備份監控任務異常",
|
||||
)
|
||||
except Exception as _router_e:
|
||||
logging.error(f"[Scheduler] [BackupMonitor] event_router 失敗: {_router_e}")
|
||||
|
||||
|
||||
def run_openclaw_meta_analysis_task():
|
||||
|
||||
Reference in New Issue
Block a user