@golemio/pid 3.17.1-dev.1919036985 → 3.17.1-dev.1925537706
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -228,7 +228,11 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
|
|
|
228
228
|
- validační schéma: [JISEventsJsonSchema](../src/schema-definitions/jis/datasources/JISEventsJsonSchema.ts)
|
|
229
229
|
- příklad vstupnich dat: [eventsDataSourceFixture](../test/integration-engine/jis/fixtures/eventsDataSourceFixture.ts)
|
|
230
230
|
- frekvence stahování
|
|
231
|
-
-
|
|
231
|
+
- cron definice:
|
|
232
|
+
- cron.vehicle-positions.jis.refreshJISEvents
|
|
233
|
+
- rabin `0 */1 * * * *`
|
|
234
|
+
- prod `0 */1 * * * *`
|
|
235
|
+
- data mohou být stažena po manuálním zaslání zprávy do RabbitMQ fronty (primární způsob aktualizace dat je aktivní posílání a cron)
|
|
232
236
|
- název rabbitmq fronty
|
|
233
237
|
- vehicle-positions.jis.fetchJISEvents
|
|
234
238
|
|
|
@@ -244,7 +248,11 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
|
|
|
244
248
|
- validační schéma: [JISInfotextsJsonSchema](../src/schema-definitions/jis/datasources/JISInfotextsJsonSchema.ts)
|
|
245
249
|
- příklad vstupnich dat: [infotextsDataSourceFixture](../test/integration-engine/jis/fixtures/infotextsDataSourceFixture.ts)
|
|
246
250
|
- frekvence stahování
|
|
247
|
-
-
|
|
251
|
+
- cron definice:
|
|
252
|
+
- cron.vehicle-positions.jis.refreshJISInfotexts
|
|
253
|
+
- rabin `0 */1 * * * *`
|
|
254
|
+
- prod `0 */1 * * * *`
|
|
255
|
+
- data mohou být stažena po manuálním zaslání zprávy do RabbitMQ fronty (primární způsob aktualizace dat je aktivní posílání a cron)
|
|
248
256
|
- název rabbitmq fronty
|
|
249
257
|
- vehicle-positions.jis.fetchJISInfotexts
|
|
250
258
|
|
|
@@ -1307,6 +1315,7 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
|
|
|
1307
1315
|
- `vehiclepositions_vehicle_descriptors`
|
|
1308
1316
|
- dodatečná transformace: Feature collection
|
|
1309
1317
|
- je použit `CompressionByDefaultMiddleware` a odpovědi jsou tak na output gateway komprimovány i pokud klient explicitně nepovolí komprimaci vhodnou hodnotou hlavičky `Accept-Encoding` (lze však komprimaci explicitně zakázat hodnotou `identity`)
|
|
1318
|
+
- Default limit je nastaven pro vsechny role na 100 v admin panelu
|
|
1310
1319
|
|
|
1311
1320
|
#### _/v2/vehiclepositions/{gtfsTripId}_
|
|
1312
1321
|
|
package/docs/jis/index.md
CHANGED
|
@@ -82,10 +82,8 @@ flowchart LR
|
|
|
82
82
|
## Aktivní posílání (push) dat
|
|
83
83
|
|
|
84
84
|
Po uložení změn událostí a infotextů do VYMI PostgreSQL databáze dojde vždy k aktivnímu poslání (push) "aktuálních" dat z VYMI back end služby do Golemia za pomoci HTTP POST dotazu na Golemio Vehicle Positions (VP) Input Gateway (IG).
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- všechny události, které mají `status` `PUBLISHED`, a zároveň `updated_at` hodnotu z posledních 24 hodin nebo `active_period_end` je `NULL` nebo >= aktuální čas, neboli lidsky všechny publikované (ne-draft) události, které jsou aktivní nebo byly upraveny v posledním dnu;
|
|
88
|
-
- všechny infotexty, které mají `status` `PUBLISHED`, `visibility` `PUBLIC` a zároveň `active_period_end` je `NULL` nebo >= aktuální čas, neboli lidsky všechny aktivní zapnuté publikované (ne-draft) infotexty.
|
|
85
|
+
- u událostí se posílá pouze konkrétní nově vytvořená nebo upravená událost, nikoliv celý seznam aktuálních událostí.
|
|
86
|
+
- všechny infotexty, které mají `status` `PUBLISHED`, `visibility` `PUBLIC` a zároveň `active_period_end` je `NULL` nebo >= aktuální čas, neboli lidsky všechny aktivní, budoucí a publikované (ne-draft) infotexty.
|
|
89
87
|
|
|
90
88
|
VP Input Gateway data přijme a zašle do odpovídající RabbitMQ fronty, odkud je převezme VP Integration Engine, který data zapíše do VP PostgreSQL databáze.
|
|
91
89
|
|
|
@@ -159,7 +157,19 @@ Formát zasílaných dat je dále více popsán v implementační dokumentaci ([
|
|
|
159
157
|
|
|
160
158
|
## Pasivní načítání (pull) dat
|
|
161
159
|
|
|
162
|
-
V případě potřeby (např. nedojde-li kvůli chybě k aktivnímu poslání dat) lze využít pasivní načtení (
|
|
160
|
+
V případě potřeby (např. nedojde-li kvůli chybě k aktivnímu poslání dat) lze využít pasivní načtení (pull) dat z VYMI REST API do Golemia. Pro spuštění načtení může vývojář zaslat prázdnou zprávu do správné RabbitMQ fronty, kterou zkonzumuje VP Integration Engine a za pomoci HTTP GET dotazu získá data z VYMI back end služby.
|
|
161
|
+
|
|
162
|
+
Kromě manuálního spuštění vývojářem je nyní navíc aktivní cron task, který každou minutu automaticky spouští pasivní načítání dat z VYMI do Golemia. Tento mechanismus zajišťuje vyšší odolnost proti výpadkům v aktivním posílání (push) dat.
|
|
163
|
+
|
|
164
|
+
Při pasivním načítání se z VYMI vždy přenačítají pouze aktuální (aktivní) události a infotexty:
|
|
165
|
+
- všechny události, které mají `status` `PUBLISHED`, a zároveň `updated_at` hodnotu z posledních 24 hodin nebo `active_period_end` je `NULL` nebo >= aktuální čas, neboli lidsky všechny publikované (ne-draft) události, které jsou aktivní nebo byly upraveny v posledním dnu;
|
|
166
|
+
- všechny infotexty, které mají `status` `PUBLISHED`, `visibility` `PUBLIC` a zároveň `active_period_end` je `NULL` nebo >= aktuální čas, neboli lidsky všechny aktivní, budoucí a publikované (ne-draft) infotexty.
|
|
167
|
+
|
|
168
|
+
## Chování databáze v Golemio
|
|
169
|
+
|
|
170
|
+
Události – v Golemio databázi se uchovávají všechny historické i aktuální události. Staré záznamy se nepromazávají.
|
|
171
|
+
|
|
172
|
+
Infotexty – v Golemio databázi se uchovávají pouze aktivní infotexty. Neaktivní se při každém přenačtení promazávají.
|
|
163
173
|
|
|
164
174
|
Proces je podrobněji znázorněn na následujícím diagramu (detailnější prvky aplikační struktury jsou vynechány).
|
|
165
175
|
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -602,12 +602,13 @@ paths:
|
|
|
602
602
|
parameters:
|
|
603
603
|
- name: limit
|
|
604
604
|
in: query
|
|
605
|
-
description: Limits number of retrieved items. The maximum is 10000
|
|
605
|
+
description: Limits number of retrieved items. The maximum is 10000.
|
|
606
606
|
required: false
|
|
607
607
|
schema:
|
|
608
608
|
type: number
|
|
609
609
|
format: int64
|
|
610
610
|
example: 10
|
|
611
|
+
default: 100
|
|
611
612
|
- name: offset
|
|
612
613
|
in: query
|
|
613
614
|
description: Number of the first items that are skipped.
|