Watchdog (scripts/utils/watchdog.py, com.lotto.watchdog.plist, daily 21:30) checks whether the latest draw or the trained models are older than the launchd schedule allows and sends a Telegram alert - this would have caught the Aug 15 update run that silently never fired (the Mac was presumably asleep; launchd does not retry missed StartCalendarInterval jobs), instead of that only surfacing on the next manual check. Also fixes a real path bug in LottoAPIUpdater.create_backup(): since self.data_file already points into data/, joining "data","backups" wrote backups to data/data/backups/ instead of data/backups/ - 73 backups (6.3MB) had been piling up there undetected for months, with data/data/ only ever gitignored rather than the root cause fixed. Merges the misplaced backups into the correct location and adds retention (keep last 30) so backups no longer grow unbounded; applied the same retention to Eurojackpot's updater in a matching commit there, which didn't have the path bug but had the same unbounded growth (85 backups, 2.4MB). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key>
|
|
<string>com.lotto.watchdog</string>
|
|
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>/Users/sebastianfrohlich/Projekte/Lotto/run_watchdog.sh</string>
|
|
</array>
|
|
|
|
<key>StartCalendarInterval</key>
|
|
<dict>
|
|
<key>Hour</key>
|
|
<integer>21</integer>
|
|
<key>Minute</key>
|
|
<integer>30</integer>
|
|
</dict>
|
|
|
|
<key>WorkingDirectory</key>
|
|
<string>/Users/sebastianfrohlich/Projekte/Lotto</string>
|
|
|
|
<key>StandardOutPath</key>
|
|
<string>/Users/sebastianfrohlich/Projekte/Lotto/logs/watchdog_stdout.log</string>
|
|
<key>StandardErrorPath</key>
|
|
<string>/Users/sebastianfrohlich/Projekte/Lotto/logs/watchdog_stderr.log</string>
|
|
|
|
<key>RunAtLoad</key>
|
|
<false/>
|
|
|
|
<key>EnvironmentVariables</key>
|
|
<dict>
|
|
<key>PATH</key>
|
|
<string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
|
|
<key>LANG</key>
|
|
<string>de_DE.UTF-8</string>
|
|
</dict>
|
|
|
|
<key>LaunchOnlyOnce</key>
|
|
<false/>
|
|
|
|
<key>Nice</key>
|
|
<integer>10</integer>
|
|
</dict>
|
|
</plist>
|