OSM-Beiträge: Map-Button (dog=yes), Changeset-Upload, Confirm/Pro-Job
- Map-Popup: "Hund war willkommen"-Button (dog=yes) für Restaurant/Hotel/ Shop/Tierarzt/Hundesalon → POST /osm-contrib/dog-friendly. - OSM-Changeset-Upload (write_api): Element holen (node/way) → dog=yes → Changeset create/upload/close; idempotent; best-effort beim Tap. - OSM-Endpunkte konfigurierbar (OSM_OAUTH_BASE/OSM_API_BASE) — Staging gegen Dev-Sandbox, KEINE echten Edits auf Produktiv-OSM. - Scheduler-Job (täglich 03:40): Pending-Retry + Revert-Überleben (7 Tage) → confirmed/rejected; Pro-Freischaltung (100 confirmed = 1 Jahr, idempotent via osm_pro_grants). HINWEIS: is_premium/subscription direkt gesetzt — vor Prod mit Billing abgleichen. - Native Attestierung/Sensoren: bewusst NICHT (iOS-App-Thema, nicht PWA).
This commit is contained in:
parent
dc9c0d2cc0
commit
57849515ea
10 changed files with 239 additions and 26 deletions
|
|
@ -186,6 +186,16 @@ def start():
|
|||
misfire_grace_time=3600,
|
||||
coalesce=True,
|
||||
)
|
||||
# Täglich 03:40 Uhr — OSM-Beiträge: Pending-Retry + Revert-Überleben prüfen
|
||||
# + Pro-Freischaltung (staggered, ruhige Zeit)
|
||||
_scheduler.add_job(
|
||||
_job_osm_confirm,
|
||||
CronTrigger(hour=3, minute=40),
|
||||
id="osm_confirm",
|
||||
replace_existing=True,
|
||||
misfire_grace_time=3600,
|
||||
coalesce=True,
|
||||
)
|
||||
# Jeden Montag 08:10 Uhr — Neue Foto-Challenge anlegen (staggered weg von 08:00)
|
||||
_scheduler.add_job(
|
||||
_job_new_foto_challenge,
|
||||
|
|
@ -1720,6 +1730,16 @@ async def _job_streak_reminder():
|
|||
# ------------------------------------------------------------------
|
||||
# JOB: Tierfutter-Rückrufe prüfen (RASFF, täglich 08:00)
|
||||
# ------------------------------------------------------------------
|
||||
async def _job_osm_confirm():
|
||||
"""OSM-Beiträge: Pending-Retry + Revert-Überleben prüfen + Pro-Freischaltung.
|
||||
Import innen → kein Zirkel-Import beim Modul-Load."""
|
||||
try:
|
||||
from routes.osm_contrib import run_confirmation_round
|
||||
await run_confirmation_round()
|
||||
except Exception as e:
|
||||
logger.warning("OSM-Confirm-Job Fehler: %s", e)
|
||||
|
||||
|
||||
async def _job_recall_check():
|
||||
"""
|
||||
Fragt täglich die RASFF EU-API nach neuen Tierfutter-Rückrufen ab.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue