# 实时告警定时服务 所有平台都是每隔 5 分钟执行一次: ```bash python models/realtime_service.py --once ``` 扫描结果按“重叠或间隔不超过 6 小时”的规则合并进 `compressor_alarm`, 同一等级连续段不会因为跨小时被拆成多条。 ## 命令行定时(三平台通用) ```bash # 前台循环,每 300 秒一次,Ctrl+C 退出 python models/realtime_service.py --loop --interval 300 ``` ## macOS(launchd) ```bash bash models/service/mac/install.sh # 安装并立即加载 bash models/service/mac/uninstall.sh # 卸载 ``` - 安装后 plist 位于 `~/Library/LaunchAgents/com.compressor.alarm.plist`。 - 日志:`models/service/realtime.out.log` / `realtime.err.log`。 - 可用 `PYTHON=/path/to/python bash models/service/mac/install.sh` 指定解释器。 ## Linux(systemd,需要 sudo) ```bash sudo bash models/service/linux/install.sh # 安装并启用 timer sudo bash models/service/linux/uninstall.sh # 卸载 ``` - 查看:`systemctl status compressor-alarm.timer`、`journalctl -u compressor-alarm.service`。 crontab 备选: ```cron */5 * * * * cd /path/to/Compressor && /usr/bin/python3 models/realtime_service.py --once >> models/service/realtime.log 2>&1 ``` ## Windows(计划任务) ```bat models\service\windows\install_service.bat models\service\windows\uninstall_service.bat ``` - 任务名 `CompressorAlarm`,每 5 分钟运行一次。 - 手动触发:`schtasks /Run /TN CompressorAlarm`。 - 可用 `set PYTHON=C:\path\python.exe` 后再运行安装脚本指定解释器。 ## 冒烟测试 ```bash # 顺序模拟多个时刻运行,结束后自动回滚数据库 python models/realtime_service.py --simulate "2026-02-03 20:00:00,2026-02-04 00:00:00,2026-02-05 00:00:00" ``` 加 `--no-rollback` 可保留冒烟写入(默认回滚)。