18922397810 b15402186c PKS:设备号输入、全量/实时运行与 compressor_alarm 落库,含定时服务脚本 2 nedēļas atpakaļ
..
linux b15402186c PKS:设备号输入、全量/实时运行与 compressor_alarm 落库,含定时服务脚本 2 nedēļas atpakaļ
mac b15402186c PKS:设备号输入、全量/实时运行与 compressor_alarm 落库,含定时服务脚本 2 nedēļas atpakaļ
windows b15402186c PKS:设备号输入、全量/实时运行与 compressor_alarm 落库,含定时服务脚本 2 nedēļas atpakaļ
README.md b15402186c PKS:设备号输入、全量/实时运行与 compressor_alarm 落库,含定时服务脚本 2 nedēļas atpakaļ

README.md

实时告警定时服务

所有平台都是每隔 5 分钟执行一次:

python models/realtime_service.py --once

扫描结果按“重叠或间隔不超过 6 小时”的规则合并进 compressor_alarm, 同一等级连续段不会因为跨小时被拆成多条。

命令行定时(三平台通用)

# 前台循环,每 300 秒一次,Ctrl+C 退出
python models/realtime_service.py --loop --interval 300

macOS(launchd)

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)

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 备选:

*/5 * * * * cd /path/to/Compressor && /usr/bin/python3 models/realtime_service.py --once >> models/service/realtime.log 2>&1

Windows(计划任务)

models\service\windows\install_service.bat
models\service\windows\uninstall_service.bat
  • 任务名 CompressorAlarm,每 5 分钟运行一次。
  • 手动触发:schtasks /Run /TN CompressorAlarm。
  • 可用 set PYTHON=C:\path\python.exe 后再运行安装脚本指定解释器。

冒烟测试

# 顺序模拟多个时刻运行,结束后自动回滚数据库
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 可保留冒烟写入(默认回滚)。