每天定时运行¶
schedule_monitor()(命令行 tidypptsdm schedule,桌面程序“设为每天定时”)做两件事:
- 写一个小脚本(Windows 上是
.bat,其他系统是.sh),运行tidypptsdm run:读入导出文件夹,把报告和表格写到结果文件夹/<最后一天>/; - 让它每天定时运行:Windows 上注册到“任务计划程序”,Linux 和 macOS 上打印一行 crontab 配置。
Windows¶
tidypptsdm schedule D:/nedap/exports --out D:/nedap/monitor --time 07:30 --days 7 --house-width 1
或在 Python 中:
tp.schedule_monitor("D:/nedap/exports", "D:/nedap/monitor", time="07:30", days=7)
任务名默认为 tidypptsdm_monitor,可以在“任务计划程序”里查看、手动运行或修改。脚本 tidypptsdm_monitor.bat 保存在结果文件夹(可用 script_dir 改),运行日志追加到旁边的 tidypptsdm_monitor.log。删除任务:
tidypptsdm unschedule
Linux 和 macOS¶
同样运行 tidypptsdm schedule …,它会打印一行,例如:
30 7 * * * /data/monitor/tidypptsdm_monitor.sh
运行 crontab -e,把这一行加进去。tidypptsdm 不会自己改动 crontab。
只写脚本¶
--no-register(Python 中 register=False)只写脚本,可以先检查,或放进别的调度工具。
注意¶
- 报告以最后一个完整的日期命名:导出数据的最后一天如果是今天,取昨天。所以把运行时间设在导出之后即可。
- 每次都会重新读入文件夹中的全部导出文件。文件很多时,可以把已经结束的批次移到别的文件夹。
- 到时间时电脑需要开着。桌面程序挪到别的文件夹后,需要重新“设为每天定时”。
定时任务没有出结果?¶
- 数据没有更新:结果文件夹以数据的最后一天命名。导出文件夹里没有新数据时,每次运行都写到同一个日期文件夹(覆盖),看起来像没有运行。看日志
结果文件夹\tidypptsdm.log:每次运行都以 “━━ 日期 时间 开始” 一行开头,结论里会提示 “最新数据是 N 天前的”。 - 看任务状态:桌面程序点“查看定时状态”,或命令行
tidypptsdm status --out 结果文件夹。“上次运行时间”是空的说明还没到时间;“上次结果”0 表示成功。 - 马上试一次:桌面程序点“立即运行一次”,一两分钟后再看状态和日志。
- 电脑:到时间时需要开机并登录(可以锁屏)。关机或睡眠错过的运行,会在开机后补跑一次;用电池时也会运行。
- 挪动了程序:任务记录的是 exe 的完整路径。把程序文件夹挪到别处后,需要重新“设为每天定时”。
日志¶
桌面程序手动运行和定时运行都写到 结果文件夹\tidypptsdm.log(用记事本打开),格式与程序窗口里的“运行信息”相同:
━━ 2026-11-02 07:30 开始(tidypptsdm 1.1.4) ━━━━━━━━━━━━━
① 读取数据:3 个文件,19.1 万条记录(NEDAP) · 3 秒
② 整理数据:180 头猪,12 台测定站,97 天;0.7% 的访问没读到耳标 · 2 秒
③ 计算监控:2026-10-26 至 2026-11-01,7 天 · 1 秒
④ 作图:12 台测定站,每台 4 张图,4 核同时画 · 8 秒
⑤ 写出结果:报告和 Excel 工作簿已保存 · 1 秒
━━ 结论 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-11-01:12 台测定站,168 头猪来吃过料,2,196 次访问,采食 508.9 kg
✗ 严重 2 条(新 2 条):
· 【新】测定站 102:从 07:50 起没有记录(16.2 小时,平时最长 1.2 小时);站上 15 头猪当天的数据不完整,不逐头报警
· 【新】猪 15006(测定站 101):当天没有访问(最后体重 140.8 kg)
⚠ 警告 1 条:采食骤降 1 头。明细见报告首页的“今日待办”
ℹ 长期未访问 1 头(13918):如果已离场,把耳标号写进结果文件夹里的“离场猪.txt”,就不再报警
共用时 16 秒。报告:D:\nedap\monitor\2026-11-01\index.html
严重警报最多列 10 条,其余见报告首页;警告只给数量。警报的规则见桌面程序 → 报告和警报。出错时写 “✗ 没有完成” 和 “怎么办”,完整的错误信息也在日志里,可以发给维护者。日志超过 1 MB 时,旧的内容移到 tidypptsdm.log.1。