@golemio/pid 5.7.2-dev.2375828975 → 5.7.2-dev.2375920152
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.
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +2 -0
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +1 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.d.ts +9 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.js +49 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.js.map +1 -0
- package/docs/asyncapi.yaml +11 -0
- package/docs/cache/types/redis.md +28 -0
- package/docs/implementation_documentation.md +20 -0
- package/package.json +1 -1
|
@@ -26,6 +26,7 @@ const RopidGTFSTransformation_1 = require("../transformations/RopidGTFSTransform
|
|
|
26
26
|
const DeparturesPresetsDatasource_1 = require("../workers/presets/data-access/DeparturesPresetsDatasource");
|
|
27
27
|
const CheckForNewDeparturesPresetsTask_1 = require("../workers/presets/tasks/CheckForNewDeparturesPresetsTask");
|
|
28
28
|
const DownloadDeparturesPresetsTask_1 = require("../workers/presets/tasks/DownloadDeparturesPresetsTask");
|
|
29
|
+
const EnsureCacheTask_1 = require("../workers/timetables/tasks/EnsureCacheTask");
|
|
29
30
|
const RefreshGtfsStopsCacheTask_1 = require("../workers/timetables/tasks/RefreshGtfsStopsCacheTask");
|
|
30
31
|
const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask");
|
|
31
32
|
const SaveStaticDataTask_1 = require("../workers/timetables/tasks/SaveStaticDataTask");
|
|
@@ -82,6 +83,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
|
|
|
82
83
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DownloadDeparturesPresetsTask, DownloadDeparturesPresetsTask_1.DownloadDeparturesPresetsTask);
|
|
83
84
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask, CheckForNewDeparturesPresetsTask_1.CheckForNewDeparturesPresetsTask);
|
|
84
85
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.SaveStaticDataTask, SaveStaticDataTask_1.SaveStaticDataTask);
|
|
86
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.EnsureCacheTask, EnsureCacheTask_1.EnsureCacheTask);
|
|
85
87
|
//#endregion
|
|
86
88
|
//#region Helpers
|
|
87
89
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,0IAAqI;AACrI,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,gEAA6D;AAC7D,wDAAqD;AACrD,gFAA6E;AAC7E,wFAAqF;AACrF,4EAAyE;AACzE,8FAA2F;AAC3F,4GAAyG;AACzG,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,oFAAiF;AACjF,4HAAyH;AACzH,kHAA+G;AAC/G,wHAAqH;AACrH,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;AACvG,qGAAkG;AAClG,yHAAsH;AACtH,uFAAoF;AACpF,yHAAsH;AACtH,qHAAkH;AAClH,yGAAsG;AACtG,2FAAwF;AACxF,qIAAkI;AAClI,mIAAgI;AAChI,uEAAoE;AACpE,qHAAkH;AAClH,sEAAmE;AAEnE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ const RopidGtfsContainerToken = {
|
|
|
36
36
|
RopidDeparturesPresetsRopidGTFSStopsRepository: Symbol("RopidDeparturesPresetsRopidGTFSStopsRepository"),
|
|
37
37
|
GtfsStopsRedisRepository: Symbol("GtfsStopsRedisRepository"),
|
|
38
38
|
RopidGTFSCisStopsModel: Symbol("RopidGTFSCisStopsModel"),
|
|
39
|
+
EnsureCacheTask: Symbol("EnsureCacheTask"),
|
|
39
40
|
};
|
|
40
41
|
exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
|
|
41
42
|
//# sourceMappingURL=RopidGtfsContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC5C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC5C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;CAC7C,CAAC;AAEO,0DAAuB"}
|
|
@@ -27,6 +27,7 @@ class TimetableWorker extends workers_1.AbstractWorker {
|
|
|
27
27
|
this.registerTask(new RefreshPrecomputedTablesTask_1.RefreshPrecomputedTablesTask(this.getQueuePrefix()));
|
|
28
28
|
this.registerTask(new TransformAndSaveDataTask_1.TransformAndSaveDataTask(this.getQueuePrefix()));
|
|
29
29
|
this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.SaveStaticDataTask));
|
|
30
|
+
this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.EnsureCacheTask));
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
exports.TimetableWorker = TimetableWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimetableWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,+EAAqF;AACrF,2EAA6F;AAC7F,2CAAoD;AACpD,qEAAkE;AAClE,mGAAgG;
|
|
1
|
+
{"version":3,"file":"TimetableWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,+EAAqF;AACrF,2EAA6F;AAC7F,2CAAoD;AACpD,qEAAkE;AAClE,mGAAgG;AAEhG,uEAAoE;AAEpE,uFAAoF;AAGpF,+EAA4E;AAE5E,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,iCAAqB,CAAC;QAuBhC,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QArBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA4B,iDAAuB,CAAC,yBAAyB,CAAC,CAC3G,CAAC;QACF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,iDAAuB,CAAC,mCAAmC,CAC9D,CACJ,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,uEAAkC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,2DAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAqB,iDAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAkB,iDAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5G,CAAC;CAMJ;AA5BD,0CA4BC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
2
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
export declare class EnsureCacheTask extends AbstractEmptyTask {
|
|
4
|
+
private readonly config;
|
|
5
|
+
readonly queueName = "ensureCache";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
constructor(config: ISimpleConfig);
|
|
8
|
+
protected execute(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.EnsureCacheTask = void 0;
|
|
16
|
+
const constants_1 = require("../../../../vehicle-positions/workers/vehicle-positions/constants");
|
|
17
|
+
const constants_2 = require("../../../../jis/workers/constants");
|
|
18
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
19
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
20
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
21
|
+
const constants_3 = require("../constants");
|
|
22
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
23
|
+
let EnsureCacheTask = class EnsureCacheTask extends integration_engine_1.AbstractEmptyTask {
|
|
24
|
+
constructor(config) {
|
|
25
|
+
super(constants_3.TIMETABLE_WORKER_NAME);
|
|
26
|
+
this.config = config;
|
|
27
|
+
this.queueName = "ensureCache";
|
|
28
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
29
|
+
}
|
|
30
|
+
async execute() {
|
|
31
|
+
const rabbitExchangeName = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
32
|
+
if (!rabbitExchangeName) {
|
|
33
|
+
throw new golemio_errors_1.GeneralError("RABBIT_EXCHANGE_NAME environment variable is not configured");
|
|
34
|
+
}
|
|
35
|
+
await Promise.all([
|
|
36
|
+
integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${constants_1.WORKER_NAME.toLowerCase()}`, "refreshGTFSTripData", {}),
|
|
37
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshPublicGtfsDepartureCache", {}),
|
|
38
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshGtfsStopsCache", {}),
|
|
39
|
+
integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${constants_2.JIS_WORKER_NAME.toLowerCase()}`, "refreshJISInfotextsCache", {}),
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.EnsureCacheTask = EnsureCacheTask;
|
|
44
|
+
exports.EnsureCacheTask = EnsureCacheTask = __decorate([
|
|
45
|
+
(0, tsyringe_1.injectable)(),
|
|
46
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
47
|
+
__metadata("design:paramtypes", [Object])
|
|
48
|
+
], EnsureCacheTask);
|
|
49
|
+
//# sourceMappingURL=EnsureCacheTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnsureCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iGAA0G;AAC1G,iEAA4D;AAE5D,wEAAqE;AACrE,8EAAwF;AACxF,iEAAwE;AACxE,4CAAqD;AACrD,6EAAwE;AAGjE,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,sCAAiB;IAIlD,YAA4C,MAAsC;QAC9E,KAAK,CAAC,iCAAqB,CAAC,CAAC;QAD4B,WAAM,GAAN,MAAM,CAAe;QAHlE,cAAS,GAAG,aAAa,CAAC;QAC1B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IAItD,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;QAEpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,6BAAY,CAAC,6DAA6D,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,iCAAY,CAAC,qBAAqB,CAC9B,GAAG,kBAAkB,IAAI,uBAAc,CAAC,WAAW,EAAE,EAAE,EACvD,qBAAqB,EACrB,EAAE,CACL;YACD,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,iCAAiC,EAAE,EAAE,CAAC;YAC3F,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,CAAC;YACjF,iCAAY,CAAC,qBAAqB,CAC9B,GAAG,kBAAkB,IAAI,2BAAe,CAAC,WAAW,EAAE,EAAE,EACxD,0BAA0B,EAC1B,EAAE,CACL;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA9BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAKI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAJlC,eAAe,CA8B3B"}
|
package/docs/asyncapi.yaml
CHANGED
|
@@ -105,6 +105,17 @@ channels:
|
|
|
105
105
|
messages:
|
|
106
106
|
empty:
|
|
107
107
|
$ref: "#/components/messages/emptyMessage"
|
|
108
|
+
ropidgtfs.ensureCache:
|
|
109
|
+
address: vehicle-positions.ropidgtfs.ensureCache
|
|
110
|
+
description: Triggers all cache refreshes to ensure caches are populated and up to date
|
|
111
|
+
bindings:
|
|
112
|
+
amqp:
|
|
113
|
+
is: queue
|
|
114
|
+
queue:
|
|
115
|
+
durable: true
|
|
116
|
+
messages:
|
|
117
|
+
empty:
|
|
118
|
+
$ref: "#/components/messages/emptyMessage"
|
|
108
119
|
updateGTFSTripId:
|
|
109
120
|
address: vehicle-positions.vehiclepositions.updateGTFSTripId
|
|
110
121
|
description: some description
|
|
@@ -556,3 +556,31 @@ link na .drawio [soubor](../../assets/V4Transferboards.drawio)
|
|
|
556
556
|
- `routeIds` – whitelist čísel linek (např. `"861"` pro náhradní autobus X-C při výluce metra C) zobrazovaných i bez platného JŘ spoje
|
|
557
557
|
- TTL žádné – hodnota se přepíše při každém spuštění `SaveStaticDataTask` (po načtení nových JŘ)
|
|
558
558
|
- Zapisuje `NotPublicVehiclesRedisRepository` (IE), čte `TripsRepository` / `PositionsMapper` (IE) a `UpdateRunsGtfsTripIdTask` (IE) pro povolení průchodu vozidel bez GTFS spoje
|
|
559
|
+
|
|
560
|
+
## Manuální refresh cache (EnsureCacheTask)
|
|
561
|
+
|
|
562
|
+
`EnsureCacheTask` slouží jako manuální spouštěč obnovy všech 4 caches, jejichž data nejsou real-time obnovována. Po přijetí prázdné zprávy na frontě `vehicle-positions.ropidgtfs.ensureCache` odešle paralelně prázdné zprávy do všech 4 cílových front. Dvě z nich míří do různých workerů (cross-worker routing přes RabbitMQ exchange), dvě míří do stejného workeru (TimetableWorker).
|
|
563
|
+
|
|
564
|
+
### Flowchart
|
|
565
|
+
|
|
566
|
+
```mermaid
|
|
567
|
+
flowchart LR
|
|
568
|
+
trigger["`Zpráva do fronty ensureCache`"]
|
|
569
|
+
task["`EnsureCacheTask (TimetableWorker)`"]
|
|
570
|
+
|
|
571
|
+
exchange_vp["`Exchange ${RABBIT_EXCHANGE_NAME}.vehiclepositions (VPWorker)`"]
|
|
572
|
+
exchange_self["`Exchange this.queuePrefix (TimetableWorker)`"]
|
|
573
|
+
exchange_jis["`Exchange ${RABBIT_EXCHANGE_NAME}.jis (JISWorker)`"]
|
|
574
|
+
|
|
575
|
+
q1["`AMQP refreshGTFSTripData`"]
|
|
576
|
+
q2["`AMQP refreshPublicGtfsDepartureCache`"]
|
|
577
|
+
q3["`AMQP refreshGtfsStopsCache`"]
|
|
578
|
+
q4["`AMQP refreshJISInfotextsCache`"]
|
|
579
|
+
|
|
580
|
+
trigger --> task
|
|
581
|
+
task -- cross-worker --> exchange_vp --> q1
|
|
582
|
+
task -- same-worker --> exchange_self --> q2
|
|
583
|
+
exchange_self --> q3
|
|
584
|
+
task -- cross-worker --> exchange_jis --> q4
|
|
585
|
+
```
|
|
586
|
+
|
|
@@ -636,6 +636,26 @@ Task se stará o aktualizaci statickych dat. Pouští se po dokončení načten
|
|
|
636
636
|
```
|
|
637
637
|
`road` pokrývá autobusy i trolejbusy (evidenční čísla se mohou překrývat s tramvajemi, proto jsou oddělena). `routeIds` je whitelist číselných identifikátorů náhradních nebo dočasných linek (např. náhradní autobus za metro při výluce nebo mimořádné události), které se mají zobrazovat i bez platného JŘ spoje.
|
|
638
638
|
|
|
639
|
+
#### task _EnsureCacheTask_
|
|
640
|
+
|
|
641
|
+
Task slouží jako ruční spouštěč obnovení všech cache. Nespouští se automaticky – pouze manuálním odesláním zprávy do fronty.
|
|
642
|
+
|
|
643
|
+
- vstupní rabbitmq fronta
|
|
644
|
+
- název: vehicle-positions.ropidgtfs.ensureCache
|
|
645
|
+
- TTL: 5 minut
|
|
646
|
+
- parametry: žádné
|
|
647
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
648
|
+
- název: vehicle-positions.vehiclepositions.refreshGTFSTripData
|
|
649
|
+
- název: vehicle-positions.ropidgtfs.refreshPublicGtfsDepartureCache
|
|
650
|
+
- název: vehicle-positions.ropidgtfs.refreshGtfsStopsCache
|
|
651
|
+
- název: vehicle-positions.jis.refreshJISInfotextsCache
|
|
652
|
+
- datové zdroje
|
|
653
|
+
- žádné
|
|
654
|
+
- transformace
|
|
655
|
+
- žádné
|
|
656
|
+
- data modely
|
|
657
|
+
- žádné
|
|
658
|
+
|
|
639
659
|
|
|
640
660
|
|
|
641
661
|
### PresetWorker
|