Backfills knoebels."LZ_open_meteo_hourly" from 2024-05-15 (start of queue
collection) and keeps it current. Imperial units; timestamps stored as naive
America/New_York to line up with the rest of the knoebels schema.
- weather_logger.py: --backfill uses the ERA5 Archive API; default mode does a
self-healing recent sync via the Forecast API (past_days=7, upsert on conflict)
- docker-compose.yml: add `weather` oneshot service (also align scraper to its
live `oneshot` profile)
- systemd/knb-weather.{service,timer}: nox user timer, every 6h (linger enabled)
- queries/dm_knb_queue_weather.sql: dm_knb_queue_weather view joining the full
queue-time series to hourly weather (hour-bucketed), with a WMO code decode
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
650 B
Desktop File
15 lines
650 B
Desktop File
[Unit]
|
|
Description=Knoebels Open-Meteo hourly weather sync (one-shot)
|
|
After=docker.service network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
WorkingDirectory=/home/nox/docker/kuh-no-bowls
|
|
# `compose run` activates the service regardless of its compose profile.
|
|
# Default (no args) = recent sync (Forecast API, past_days=7, self-healing).
|
|
# One-time history load was done manually with: ... run --rm weather --backfill
|
|
ExecStart=/usr/bin/docker compose run --rm weather
|
|
StandardOutput=append:/home/nox/docker/kuh-no-bowls/cron-logs/weather-cron.log
|
|
StandardError=append:/home/nox/docker/kuh-no-bowls/cron-logs/weather-cron.log
|