Vaktija: dnevni pre-warming keša u 01:00 (systemd timer)
- idriz/apps/vaktija/warm.py: zagrijava keš (danas + sutra) za konfigurisanu
lokaciju (default Sarajevo).
- systemd/idriz-vaktija-warm.{service,timer}: oneshot + dnevni timer 01:00
(Persistent=true da odradi i ako je mašina bila ugašena). Enabled kao user timer.
Odgovori o namazu su tako trenutni (bez čekanja na API pri prvom pitanju).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzKpYaEsuWDevuNnvSjcFW
This commit is contained in:
28
idriz/apps/vaktija/warm.py
Normal file
28
idriz/apps/vaktija/warm.py
Normal file
@@ -0,0 +1,28 @@
|
||||
"""Pre-warming keša vaktije za konfigurisanu lokaciju (danas + sutra).
|
||||
|
||||
Pokreće se dnevno u 01:00 preko systemd timera (idriz-vaktija-warm.timer), da
|
||||
odgovori na pitanja o namazu budu trenutni (bez čekanja na API).
|
||||
"""
|
||||
import datetime as dt
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from . import client, store
|
||||
|
||||
|
||||
def main() -> int:
|
||||
logging.basicConfig(level=logging.INFO,
|
||||
format="%(asctime)s %(name)s %(levelname)s %(message)s", stream=sys.stderr)
|
||||
log = logging.getLogger("idriz.vaktija.warm")
|
||||
loc = store.get_location_id()
|
||||
today = dt.date.today()
|
||||
ok = 0
|
||||
for d in (today, today + dt.timedelta(days=1)):
|
||||
if client.fetch_vakat(loc, d):
|
||||
ok += 1
|
||||
log.info("zagrijan keš za %s (id %s): %d/2 dana", store.location_name(loc), loc, ok)
|
||||
return 0 if ok else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
9
systemd/idriz-vaktija-warm.service
Normal file
9
systemd/idriz-vaktija-warm.service
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Idriz - pre-warming keša vaktije (namaz) za default lokaciju
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=%h/src/idriz
|
||||
ExecStart=%h/src/idriz/.venv/bin/python -m idriz.apps.vaktija.warm
|
||||
9
systemd/idriz-vaktija-warm.timer
Normal file
9
systemd/idriz-vaktija-warm.timer
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Dnevno zagrijavanje keša vaktije u 01:00
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 01:00:00
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
Reference in New Issue
Block a user