Feature: Ratings, Lightbox, Forum-Standort, Notifications, Routen-Recording, Chat-Picker
- Bewertungssystem (ratings.py): Sterne für Sitter/Walks/Places/Routen - Admin: Server-Log-Viewer + OSM-Cache-Statistiken - Chat: "Neue Nachricht"-Button mit Freundesliste-Picker - Forum: 5 neue Kategorien, Standorteingabe (locationPicker), Absende-Toast, Lightbox - Freunde: Aktivitäts-Filter (Chips), Freundschaftsanfrage → In-App-Notification - Sitter: locationPicker statt manuelle Koordinateneingabe + ratingStars - Tagebuch: Bilder-Lightbox im Detail-View, iOS-Modal-Header-Fix (90svh) - Routen: Start/Stopp-Button wechselt Zustand, nutzt Page_map.isRecording() - Benachrichtigungen: Delete-Button sichtbar, typ-basierte Navigation, Toast-Feedback - OSM: globales Semaphore + 429-Retry-Logic; Scheduler: München-Umland, täglich - SW by-v225, APP_VER 202
This commit is contained in:
parent
aa70a838f2
commit
e56183b642
21 changed files with 648 additions and 175 deletions
|
|
@ -58,7 +58,7 @@ def start():
|
|||
)
|
||||
_scheduler.add_job(
|
||||
_job_prewarm_cities,
|
||||
CronTrigger(day_of_week='sun', hour=1), # jeden Sonntag 01:00 Uhr
|
||||
CronTrigger(hour=2, minute=0), # täglich 02:00 Uhr
|
||||
id="prewarm_cities",
|
||||
replace_existing=True,
|
||||
misfire_grace_time=7200,
|
||||
|
|
@ -71,14 +71,6 @@ def start():
|
|||
id="import_events_startup",
|
||||
replace_existing=True,
|
||||
)
|
||||
# Einmalig beim Start (nach 90s) — OSM-Tiles für Großstädte vorwärmen
|
||||
_scheduler.add_job(
|
||||
_job_prewarm_cities,
|
||||
'date',
|
||||
run_date=datetime.now(tz=_TZ) + timedelta(seconds=90),
|
||||
id="prewarm_cities_startup",
|
||||
replace_existing=True,
|
||||
)
|
||||
# Einmalig beim Start (nach 15s Verzögerung) — Rassen aus TheDogAPI befüllen
|
||||
_scheduler.add_job(
|
||||
_job_seed_breeds,
|
||||
|
|
@ -482,6 +474,15 @@ _CITIES_DE = [
|
|||
(52.2763, 8.0479, "Osnabrück"),
|
||||
(53.8755, 10.7000, "Lübeck-Ost"),
|
||||
(51.9333, 6.8667, "Borken"),
|
||||
# München Umland
|
||||
(48.0734, 11.9661, "Ebersberg"),
|
||||
(47.9947, 11.6612, "Holzkirchen"),
|
||||
(48.0628, 11.6574, "Ottobrunn"),
|
||||
(48.2456, 11.3712, "Dachau"),
|
||||
(48.1667, 11.7833, "Vaterstetten"),
|
||||
(48.2667, 11.6667, "Garching"),
|
||||
(48.0667, 11.4667, "Gauting"),
|
||||
(47.9833, 11.3000, "Starnberg"),
|
||||
]
|
||||
|
||||
async def _job_prewarm_cities():
|
||||
|
|
@ -493,7 +494,7 @@ async def _job_prewarm_cities():
|
|||
REPORT_INTERVAL = 5 * 3600 # alle 5 Stunden
|
||||
|
||||
logger.info("City-Prewarm Job startet…")
|
||||
sem = asyncio.Semaphore(2)
|
||||
sem = asyncio.Semaphore(1)
|
||||
total_fetched = 0
|
||||
cities_done = 0
|
||||
start_time = time.monotonic()
|
||||
|
|
@ -504,7 +505,7 @@ async def _job_prewarm_cities():
|
|||
async with sem:
|
||||
await _fetch_and_store_tile(poi_type, x, y)
|
||||
total_fetched += 1
|
||||
await asyncio.sleep(1.5)
|
||||
await asyncio.sleep(5)
|
||||
|
||||
async def _send_progress(subject_prefix, cities_done, total_cities, eta_str=""):
|
||||
if not ADMIN:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue