feat: add global weather support
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m54s
All checks were successful
CI / Lint, typecheck and build (push) Successful in 9m54s
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Powiadomienia obejmują:
|
||||
|
||||
- nowe ostrzeżenia meteorologiczne IMGW,
|
||||
- nowe ostrzeżenia meteorologiczne IMGW dla Polski,
|
||||
- poranny brief dnia,
|
||||
- wieczorny brief z prognozą na jutro,
|
||||
- testowe powiadomienie wysyłane z `/settings`.
|
||||
@@ -44,7 +44,8 @@ Jeśli zmienna nie jest ustawiona, aplikacja używa `./data/wtr.sqlite` względe
|
||||
Subskrypcja Web Push zapisuje:
|
||||
|
||||
- endpoint subskrypcji przeglądarki,
|
||||
- województwo,
|
||||
- region pogodowy `PL` albo `GLOBAL`,
|
||||
- województwo dla oficjalnych ostrzeżeń IMGW w Polsce,
|
||||
- język interfejsu,
|
||||
- czy ostrzeżenia są aktywne,
|
||||
- czy aktywny jest brief poranny,
|
||||
@@ -56,6 +57,8 @@ Subskrypcja Web Push zapisuje:
|
||||
|
||||
Ostrzeżenia meteo są filtrowane po powiecie TERYT, jeśli lokalizacja go dostarcza. W przeciwnym razie używany jest fallback wojewódzki.
|
||||
|
||||
Dla subskrypcji `GLOBAL` oficjalne ostrzeżenia IMGW są wyłączone, `province` może być puste, a powiadomienia mogą obejmować brief poranny i brief na jutro oparte o prognozę modelową Open-Meteo.
|
||||
|
||||
## Worker Self-Hosted
|
||||
|
||||
Worker powiadomień uruchamia się osobno od aplikacji:
|
||||
@@ -84,6 +87,7 @@ Domyślna konfiguracja:
|
||||
|
||||
```bash
|
||||
NOTIFICATIONS_WARNING_INTERVAL_MINUTES=5
|
||||
NOTIFICATIONS_BRIEF_INTERVAL_MINUTES=5
|
||||
NOTIFICATIONS_MORNING_BRIEF_TIME=07:00
|
||||
NOTIFICATIONS_TOMORROW_BRIEF_TIME=18:00
|
||||
```
|
||||
@@ -91,8 +95,9 @@ NOTIFICATIONS_TOMORROW_BRIEF_TIME=18:00
|
||||
Worker:
|
||||
|
||||
- sprawdza nowe ostrzeżenia co 5 minut,
|
||||
- po 07:00 czasu `Europe/Warsaw` wywołuje `/api/notifications/daily-brief`,
|
||||
- po 18:00 czasu `Europe/Warsaw` wywołuje `/api/notifications/tomorrow-brief`,
|
||||
- co 5 minut odpytuje endpointy briefów,
|
||||
- endpoint `/api/notifications/daily-brief` wysyła po 07:00 lokalnego czasu zapisanego w subskrypcji,
|
||||
- endpoint `/api/notifications/tomorrow-brief` wysyła po 18:00 lokalnego czasu zapisanego w subskrypcji,
|
||||
- nie blokuje jednego harmonogramu błędem drugiego.
|
||||
|
||||
Endpointy harmonogramu nie uruchamiają się same bez workera albo zewnętrznego crona.
|
||||
|
||||
Reference in New Issue
Block a user