@golemio/pid 2.12.7-dev.1247575535 → 2.12.7-dev.1248998205
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/input-gateway/vehicle-positions/VehiclePositionsController.js +1 -0
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js +4 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessRegionalBusRunMessagesTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessRegionalBusRunMessagesTask.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessRegionalBusRunMessagesTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.d.ts +3 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +7 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +3 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +11 -7
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +4 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +78 -68
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +6 -4
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/helpers/UpdateDelayLimiter.d.ts +11 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/helpers/UpdateDelayLimiter.js +38 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/helpers/UpdateDelayLimiter.js.map +1 -0
- package/docs/implementation_documentation.md +2 -1
- package/docs/openapi-output.yaml +0 -6
- package/package.json +2 -2
|
@@ -30,6 +30,7 @@ class VehiclePositionsController extends controllers_1.BaseController {
|
|
|
30
30
|
for (const batch of dataBatches) {
|
|
31
31
|
yield this.sendMessageToExchange("input." + this.queuePrefix + ".saveDataToDB", JSON.stringify(batch), {
|
|
32
32
|
persistent: true,
|
|
33
|
+
timestamp: new Date().getTime(),
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,CAAO,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,UAAU,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,CAAO,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAA,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAtCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAoCJ;AAlDD,gEAkDC"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ export declare class CommonMessageProcessor {
|
|
|
7
7
|
/**
|
|
8
8
|
* Create/update and process transformed run
|
|
9
9
|
*/
|
|
10
|
-
processTransformedRun: (element: ICommonRunWithMessageDto) => Promise<void>;
|
|
10
|
+
processTransformedRun: (element: ICommonRunWithMessageDto, firstMessageCreatedAt?: number) => Promise<void>;
|
|
11
11
|
private logElementIssues;
|
|
12
12
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js
CHANGED
|
@@ -25,7 +25,7 @@ class CommonMessageProcessor {
|
|
|
25
25
|
/**
|
|
26
26
|
* Create/update and process transformed run
|
|
27
27
|
*/
|
|
28
|
-
this.processTransformedRun = (element) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
this.processTransformedRun = (element, firstMessageCreatedAt) => __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
this.logElementIssues(element);
|
|
30
30
|
const record = yield this.runsRepository.getRunRecordForUpdate(element.run);
|
|
31
31
|
let outputMsg;
|
|
@@ -42,7 +42,7 @@ class CommonMessageProcessor {
|
|
|
42
42
|
else {
|
|
43
43
|
outputMsg = yield this.runsRepository.createAndAssociate(element);
|
|
44
44
|
}
|
|
45
|
-
yield queueprocessors_1.QueueManager.sendMessageToExchange(`${config_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateRunsGTFSTripId", outputMsg);
|
|
45
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(`${config_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateRunsGTFSTripId", outputMsg, { timestamp: firstMessageCreatedAt });
|
|
46
46
|
});
|
|
47
47
|
this.logger = Di_1.PidContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
48
48
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonMessageProcessor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0C;AAC1C,2FAA0D;AAE1D,wEAAqE;AAErE,yEAAsE;AACtE,2FAAqF;AACrF,6EAAwE;AACxE,gDAAyE;AAGzE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAa,sBAAsB;IAG/B,YAA6B,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;QAIjE;;WAEG;QACI,0BAAqB,GAAG,CAAO,OAAiC,EAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"CommonMessageProcessor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0C;AAC1C,2FAA0D;AAE1D,wEAAqE;AAErE,yEAAsE;AACtE,2FAAqF;AACrF,6EAAwE;AACxE,gDAAyE;AAGzE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAa,sBAAsB;IAG/B,YAA6B,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;QAIjE;;WAEG;QACI,0BAAqB,GAAG,CAAO,OAAiC,EAAE,qBAA8B,EAAiB,EAAE;YACtH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE5E,IAAI,SAAmC,CAAC;YACxC,IAAI,MAAM,EAAE;gBACR,IACI,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B;oBACpD,CAAC,yCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC9E;oBACE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,+BAA+B;wBAAE,OAAO;oBACrF,OAAO,CAAC,WAAW,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,+BAA+B,CAAC;iBAC3G;gBAED,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAChF;iBAAM;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;aACrE;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,GAAG,eAAM,CAAC,oBAAoB,IAAI,oCAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EACvE,sBAAsB,EACtB,SAAS,EACT,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACvC,CAAC;QACN,CAAC,CAAA,CAAC;QAhCE,IAAI,CAAC,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAiCO,gBAAgB,CAAC,OAAiC;QACtD,IACI,OAAO,CAAC,WAAW,CAAC,+BAA+B,YAAY,IAAI;YACnE,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;gBACtE,qBAAqB,GAAG,kBAAkB,EAChD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,+BAA+B,eAAe;gBACnG,eAAe,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EAChF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;SACL;IACL,CAAC;CACJ;AAxDD,wDAwDC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IProcessMetroRunsMessagesInput } from "../interfaces/IProcessMetroRunsMessagesInput";
|
|
3
4
|
import { MetroTransformedRunsValidationSchema } from "../schema/MetroTransformedRunsSchema";
|
|
4
5
|
export declare class ProcessMetroRunMessagesTask extends AbstractTask<IProcessMetroRunsMessagesInput> {
|
|
@@ -14,7 +15,7 @@ export declare class ProcessMetroRunMessagesTask extends AbstractTask<IProcessMe
|
|
|
14
15
|
private readonly gtfsTripRunManager;
|
|
15
16
|
private readonly tripScheduleRepository;
|
|
16
17
|
constructor(queuePrefix: string);
|
|
17
|
-
protected execute({ routeName, messages }: IProcessMetroRunsMessagesInput): Promise<void>;
|
|
18
|
+
protected execute({ routeName, messages }: IProcessMetroRunsMessagesInput, msgProperties?: MessageProperties): Promise<void>;
|
|
18
19
|
private processMessage;
|
|
19
20
|
private enrichRunMessage;
|
|
20
21
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js
CHANGED
|
@@ -40,7 +40,7 @@ class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
|
|
|
40
40
|
this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
|
|
41
41
|
this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Metro, this.positionsRepository, this.tripsRepository, this.runsRepository, this.runTripsRedisRepository);
|
|
42
42
|
}
|
|
43
|
-
execute({ routeName, messages }) {
|
|
43
|
+
execute({ routeName, messages }, msgProperties) {
|
|
44
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
45
|
const { filteredMessages, trackIds } = MetroMessageFilter_1.MetroMessageFilter.getValidMessagesWithTrackIds(messages);
|
|
46
46
|
if (filteredMessages.length === 0) {
|
|
@@ -48,11 +48,11 @@ class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
|
|
|
48
48
|
}
|
|
49
49
|
const gpsData = yield this.railtrackGPSRepository.findCoordinates(routeName, trackIds);
|
|
50
50
|
for (const message of filteredMessages) {
|
|
51
|
-
yield this.processMessage(message, gpsData);
|
|
51
|
+
yield this.processMessage(message, gpsData, msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp);
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
processMessage(message, gpsData) {
|
|
55
|
+
processMessage(message, gpsData, firstMessageCreatedAt) {
|
|
56
56
|
var _a;
|
|
57
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
58
|
const data = yield this.processingTransformation.transform({ message, gpsData });
|
|
@@ -79,7 +79,7 @@ class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
|
|
|
79
79
|
}
|
|
80
80
|
const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(scheduledTrips, enhancedMessage);
|
|
81
81
|
if (delayMsg.updatedTrips.length > 0) {
|
|
82
|
-
yield integration_engine_1.QueueManager.sendMessageToExchange(`${integration_engine_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateDelay", delayMsg);
|
|
82
|
+
yield integration_engine_1.QueueManager.sendMessageToExchange(`${integration_engine_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateDelay", delayMsg, { timestamp: firstMessageCreatedAt });
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessMetroRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAA2E;AAC3E,gFAAgF;AAChF,wIAA6H;AAM7H,iGAAsH;AACtH,yFAA8G;AAE9G,uHAGyG;AACzG,2FAA0D;AAC1D,8EAA2F;AAC3F,2EAAoE;AACpE,6EAAwE;AACxE,mEAAoE;
|
|
1
|
+
{"version":3,"file":"ProcessMetroRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
2
2
|
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import { MessageProperties } from "amqplib";
|
|
3
4
|
import { DescriptorRepository } from "../../vehicle-descriptors/data-access/DescriptorRepository";
|
|
4
5
|
import { IGtfsLookupManager } from "../helpers/regional-bus/interfaces/IGtfsLookupManager";
|
|
5
6
|
import { ITripScheduleManager } from "../helpers/regional-bus/interfaces/ITripScheduleManager";
|
|
@@ -16,7 +17,7 @@ export declare class ProcessRegionalBusRunMessagesTask extends AbstractTask<IPro
|
|
|
16
17
|
private readonly routeSubAgencyRepository;
|
|
17
18
|
private readonly gtfsTripRunManager;
|
|
18
19
|
constructor(config: ISimpleConfig, descriptorRepository: DescriptorRepository, gtfsLookupManager: IGtfsLookupManager, tripScheduleManager: ITripScheduleManager);
|
|
19
|
-
protected execute({ messages }: IProcessRegionalBusRunMessagesInput): Promise<void>;
|
|
20
|
+
protected execute({ messages }: IProcessRegionalBusRunMessagesInput, msgProperties?: MessageProperties): Promise<void>;
|
|
20
21
|
private getGtfsTripsFromCache;
|
|
21
22
|
private getGtfsTripsFromDb;
|
|
22
23
|
}
|
|
@@ -46,7 +46,7 @@ let ProcessRegionalBusRunMessagesTask = exports.ProcessRegionalBusRunMessagesTas
|
|
|
46
46
|
this.routeSubAgencyRepository = new RouteSubAgencyRepository_1.RouteSubAgencyRepository();
|
|
47
47
|
this.gtfsTripRunManager = new GtfsTripRegionalBusRunManager_1.GtfsTripRegionalBusRunManager();
|
|
48
48
|
}
|
|
49
|
-
execute({ messages }) {
|
|
49
|
+
execute({ messages }, msgProperties) {
|
|
50
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
51
|
let gtfsTripByExternalId = yield this.getGtfsTripsFromCache(messages);
|
|
52
52
|
const messagesWithoutGtfsData = messages.filter((message) => !gtfsTripByExternalId.has(message.external_trip_id));
|
|
@@ -75,7 +75,7 @@ let ProcessRegionalBusRunMessagesTask = exports.ProcessRegionalBusRunMessagesTas
|
|
|
75
75
|
const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(scheduledTrips, runInput);
|
|
76
76
|
if (delayMsg.updatedTrips.length > 0) {
|
|
77
77
|
const rabbitExchangeName = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
78
|
-
yield integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "processRegionalBusPositions", delayMsg);
|
|
78
|
+
yield integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "processRegionalBusPositions", delayMsg, { timestamp: msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp });
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessRegionalBusRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessRegionalBusRunMessagesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,0EAA4D;AAC5D,0GAA+F;AAC/F,oEAA8E;AAC9E,2FAA0D;AAE1D,wEAAqE;AACrE,8EAAmF;AACnF,iEAAwE;
|
|
1
|
+
{"version":3,"file":"ProcessRegionalBusRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessRegionalBusRunMessagesTask.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IRegionalBusRunsFacade } from "../helpers/regional-bus/interfaces/IRegionalBusRunsFacade";
|
|
3
4
|
import { IRegionalBusRunsInput } from "../interfaces/RegionalBusRunsMessageInterfaces";
|
|
4
5
|
import { RegionalBusRunsValidationSchema } from "../schema/RegionalBusRunsSchema";
|
|
@@ -8,5 +9,5 @@ export declare class SaveArrivaCityRunsToDBTask extends AbstractTask<IRegionalBu
|
|
|
8
9
|
readonly queueTtl: number;
|
|
9
10
|
readonly schema: typeof RegionalBusRunsValidationSchema;
|
|
10
11
|
constructor(regionalBusRunsFacade: IRegionalBusRunsFacade);
|
|
11
|
-
protected execute(data: IRegionalBusRunsInput): Promise<void>;
|
|
12
|
+
protected execute(data: IRegionalBusRunsInput, msgProperties?: MessageProperties): Promise<void>;
|
|
12
13
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js
CHANGED
|
@@ -36,7 +36,7 @@ let SaveArrivaCityRunsToDBTask = exports.SaveArrivaCityRunsToDBTask = class Save
|
|
|
36
36
|
this.queueTtl = 3 * 60 * 1000; // 3 minutes
|
|
37
37
|
this.schema = RegionalBusRunsSchema_1.RegionalBusRunsValidationSchema;
|
|
38
38
|
}
|
|
39
|
-
execute(data) {
|
|
39
|
+
execute(data, msgProperties) {
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
41
|
const inputMessages = Array.isArray(data.M.V) ? data.M.V : [data.M.V];
|
|
42
42
|
const transformedMessages = yield this.regionalBusRunsFacade.transformAndSaveMessages(inputMessages);
|
|
@@ -45,7 +45,7 @@ let SaveArrivaCityRunsToDBTask = exports.SaveArrivaCityRunsToDBTask = class Save
|
|
|
45
45
|
}
|
|
46
46
|
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "processRegionalBusRunMessages", {
|
|
47
47
|
messages: transformedMessages,
|
|
48
|
-
});
|
|
48
|
+
}, { timestamp: msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp });
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveArrivaCityRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAqF;AACrF,2EAA6E;AAC7E,iEAAwE;
|
|
1
|
+
{"version":3,"file":"SaveArrivaCityRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAqF;AACrF,2EAA6E;AAC7E,iEAAwE;AAExE,4CAA2C;AAG3C,2EAAkF;AAG3E,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sBAAmC;IAK/E,YAA4D,qBAAqD;QAC7G,KAAK,CAAC,uBAAW,CAAC,CAAC;QAD6C,0BAAqB,GAArB,qBAAqB,CAAwB;QAJjG,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,uDAA+B,CAAC;IAIzD,CAAC;IAEe,OAAO,CAAC,IAA2B,EAAE,aAAiC;;YAClF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACrG,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO;aACV;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,+BAA+B,EAC/B;gBACI,QAAQ,EAAE,mBAAmB;aAChC,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ,CAAA;qCAzBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMI,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,qBAAqB,CAAC,CAAA;;GALlD,0BAA0B,CAyBtC"}
|
|
@@ -38,7 +38,7 @@ class SaveBusRunsToDBTask extends workers_1.AbstractTask {
|
|
|
38
38
|
const messages = yield this.messagesTransformation.transform({ data: data.M.V, timestamp });
|
|
39
39
|
const filteredMessages = this.messageFilter.yieldFilteredMessages(messages);
|
|
40
40
|
for (const runMessage of filteredMessages) {
|
|
41
|
-
yield this.messageProcessor.processTransformedRun(runMessage);
|
|
41
|
+
yield this.messageProcessor.processTransformedRun(runMessage, timestamp);
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveBusRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAE3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AACvG,wCAA2D;AAC3D,oEAA8E;AAE9E,MAAa,mBAAoB,SAAQ,sBAA8B;IAUnE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC;IACtG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/G;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveBusRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAE3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AACvG,wCAA2D;AAC3D,oEAA8E;AAE9E,MAAa,mBAAoB,SAAQ,sBAA8B;IAUnE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC;IACtG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/G;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ;AA/BD,kDA+BC"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IMetroRunsInput } from "../interfaces/MetroRunsMessageInterfaces";
|
|
3
4
|
import { MetroRunsValidationSchema } from "../schema/MetroRunsSchema";
|
|
4
5
|
export declare class SaveMetroRunsToDBTask extends AbstractTask<IMetroRunsInput> {
|
|
@@ -8,5 +9,5 @@ export declare class SaveMetroRunsToDBTask extends AbstractTask<IMetroRunsInput>
|
|
|
8
9
|
private readonly messagesTransformation;
|
|
9
10
|
private readonly messagesRepository;
|
|
10
11
|
constructor(queuePrefix: string);
|
|
11
|
-
protected execute(data: IMetroRunsInput): Promise<void>;
|
|
12
|
+
protected execute(data: IMetroRunsInput, msgProperties?: MessageProperties): Promise<void>;
|
|
12
13
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js
CHANGED
|
@@ -24,7 +24,7 @@ class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
|
|
|
24
24
|
this.messagesTransformation = new MetroRunsMessagesTransformation_1.MetroRunsMessagesTransformation();
|
|
25
25
|
this.messagesRepository = new MetroRunsMessagesRepository_1.MetroRunsMessagesRepository();
|
|
26
26
|
}
|
|
27
|
-
execute(data) {
|
|
27
|
+
execute(data, msgProperties) {
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
const messages = yield this.messagesTransformation.transform(data);
|
|
30
30
|
if (messages.length === 0) {
|
|
@@ -34,7 +34,7 @@ class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
|
|
|
34
34
|
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "processMetroRunMessages", {
|
|
35
35
|
routeName: data.m.$.linka,
|
|
36
36
|
messages,
|
|
37
|
-
});
|
|
37
|
+
}, { timestamp: msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp });
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMetroRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAAqF;AACrF,2EAA6E;
|
|
1
|
+
{"version":3,"file":"SaveMetroRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAAqF;AACrF,2EAA6E;AAE7E,4FAAyF;AAEzF,+DAAsE;AACtE,wGAAqG;AAErG,MAAa,qBAAsB,SAAQ,sBAA6B;IAQpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,2CAAyB,CAAC;QAO/C,IAAI,CAAC,sBAAsB,GAAG,IAAI,iEAA+B,EAAE,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IAChE,CAAC;IAEe,OAAO,CAAC,IAAqB,EAAE,aAAiC;;YAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,yBAAyB,EACzB;gBACI,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBACzB,QAAQ;aACX,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ;AA/BD,sDA+BC"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js
CHANGED
|
@@ -38,7 +38,7 @@ class SaveTramRunsToDBTask extends workers_1.AbstractTask {
|
|
|
38
38
|
const messages = yield this.messagesTransformation.transform({ data: data.M.V, timestamp }, true);
|
|
39
39
|
const filteredMessages = this.messageFilter.yieldFilteredMessages(messages);
|
|
40
40
|
for (const runMessage of filteredMessages) {
|
|
41
|
-
yield this.messageProcessor.processTransformedRun(runMessage);
|
|
41
|
+
yield this.messageProcessor.processTransformedRun(runMessage, timestamp);
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
}
|
package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveTramRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA2D;AAC3D,oEAA8E;AAC9E,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAC3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AAEvG,MAAa,oBAAqB,SAAQ,sBAA8B;IAUpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC;IACvG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAChH;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveTramRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA2D;AAC3D,oEAA8E;AAC9E,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAC3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AAEvG,MAAa,oBAAqB,SAAQ,sBAA8B;IAUpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC;IACvG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAChH;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ;AA/BD,oDA+BC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IUpdateDelayInput } from "../interfaces/IUpdateDelayInput";
|
|
3
4
|
import { UpdateDelayValidationSchema } from "../schema/UpdateDelaySchema";
|
|
4
5
|
export declare class ProcessRegionalBusPositionsTask extends AbstractTask<IUpdateDelayInput> {
|
|
@@ -10,8 +11,9 @@ export declare class ProcessRegionalBusPositionsTask extends AbstractTask<IUpdat
|
|
|
10
11
|
private readonly positionsRepository;
|
|
11
12
|
private readonly delayComputationRedisRepository;
|
|
12
13
|
private readonly delayComputationManager;
|
|
14
|
+
private readonly updateDelayLimiter;
|
|
13
15
|
constructor(queuePrefix: string);
|
|
14
|
-
protected execute(data: IUpdateDelayInput): Promise<void>;
|
|
16
|
+
protected execute(data: IUpdateDelayInput, msgProperties?: MessageProperties): Promise<void>;
|
|
15
17
|
private enrichTripWithGtfsComputationData;
|
|
16
18
|
/**
|
|
17
19
|
* Propagate known position properties from trips positions to processed positions, when the processed position property is
|
|
@@ -23,11 +23,12 @@ const DelayComputationManager_1 = require("../helpers/DelayComputationManager");
|
|
|
23
23
|
const VPUtils_1 = require("../helpers/VPUtils");
|
|
24
24
|
const RegionalBusPositionsManager_1 = require("../helpers/regional-bus/RegionalBusPositionsManager");
|
|
25
25
|
const UpdateDelaySchema_1 = require("../schema/UpdateDelaySchema");
|
|
26
|
+
const UpdateDelayLimiter_1 = require("./helpers/UpdateDelayLimiter");
|
|
26
27
|
class ProcessRegionalBusPositionsTask extends workers_1.AbstractTask {
|
|
27
28
|
constructor(queuePrefix) {
|
|
28
29
|
super(queuePrefix);
|
|
29
30
|
this.queueName = "processRegionalBusPositions";
|
|
30
|
-
this.queueTtl =
|
|
31
|
+
this.queueTtl = 2 * 60 * 1000; // 2 minutes
|
|
31
32
|
this.schema = UpdateDelaySchema_1.UpdateDelayValidationSchema;
|
|
32
33
|
this.enrichTripWithGtfsComputationData = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
33
34
|
try {
|
|
@@ -82,9 +83,13 @@ class ProcessRegionalBusPositionsTask extends workers_1.AbstractTask {
|
|
|
82
83
|
this.delayComputationRedisRepository = new cache_1.DelayComputationRedisRepository();
|
|
83
84
|
const gtfsTripsRepository = new RopidGTFSTripsModel_1.RopidGTFSTripsModel();
|
|
84
85
|
this.delayComputationManager = new DelayComputationManager_1.DelayComputationManager(gtfsTripsRepository);
|
|
86
|
+
this.updateDelayLimiter = new UpdateDelayLimiter_1.UpdateDelayLimiter("ProcessRegionalBusPositionsTask", this.queueTtl);
|
|
85
87
|
}
|
|
86
|
-
execute(data) {
|
|
88
|
+
execute(data, msgProperties) {
|
|
87
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
if (!this.updateDelayLimiter.isActualMessage(msgProperties)) {
|
|
91
|
+
return; // skip processing of old messages
|
|
92
|
+
}
|
|
88
93
|
const tripIds = data.updatedTrips.map((trip) => trip.id);
|
|
89
94
|
let gtfsComputationTrips = [];
|
|
90
95
|
let tripsPositionsWithGtfsData = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessRegionalBusPositionsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAAyE;AACzE,oEAAmF;AAEnF,wEAAqE;AAErE,qEAA0F;AAC1F,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;
|
|
1
|
+
{"version":3,"file":"ProcessRegionalBusPositionsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oFAAyE;AACzE,oEAAmF;AAEnF,wEAAqE;AAErE,qEAA0F;AAC1F,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;AAE9F,4EAAyE;AACzE,oEAAiE;AACjE,gFAA6E;AAC7E,gDAA6C;AAC7C,qGAAkG;AASlG,mEAA0E;AAC1E,qEAAkE;AAElE,MAAa,+BAAgC,SAAQ,sBAA+B;IAYhF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAZP,cAAS,GAAG,6BAA6B,CAAC;QAC1C,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,+CAA2B,CAAC;QAmF7C,sCAAiC,GAAG,CACxC,IAAqC,EACG,EAAE;YAC1C,IAAI;gBACA,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvG,IAAI,mBAAmB,KAAK,IAAI,EAAE;oBAC9B,OAAO,IAAI,CAAC;iBACf;gBAED,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,EAAE,iBAAO,CAAC,2BAA2B,CAAC,CAAC;gBACpH,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;aACvC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,6BAAY,EAAE;oBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACzB;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,sDAAsD,GAAG,IAAI,CAAC,YAAY,EAC1E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CACJ,CAAC;iBACL;aACJ;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QAEF;;;;;;WAMG;QACK,qCAAgC,GAAG,CACvC,aAA8C,EAC9C,kBAAuC,EACzC,EAAE;YACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1D,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,mCACxB,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAC1B,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CACrC,CAAC;aACL;QACL,CAAC,CAAC;QAEM,oCAA+B,GAAG,CAAO,kBAAyC,EAAiB,EAAE;;YACzG,IAAI,SAAS,GAAwB,EAAE,CAAC;YACxC,IAAI,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;YAEtD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;gBAChD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC1D,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE;oBACxC,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM;oBACpC,gBAAgB,EAAE,MAAA,iBAAiB,CAAC,OAAO,CAAC,cAAc,mCAAI,IAAI;oBAClE,qBAAqB,EAAE,iBAAiB,CAAC,OAAO;oBAChD,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,oBAAoB;iBAC9D,CAAC,CAAC;aACN;YAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAA,CAAC;QAvIE,IAAI,CAAC,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,+BAA+B,GAAG,IAAI,uCAA+B,EAAE,CAAC;QAE7E,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACtD,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,mBAAmB,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,iCAAiC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvG,CAAC;IAEe,OAAO,CAAC,IAAuB,EAAE,aAAiC;;YAC9E,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;gBACzD,OAAO,CAAC,kCAAkC;aAC7C;YAED,MAAM,OAAO,GAAa,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,oBAAoB,GAAmC,EAAE,CAAC;YAC9D,IAAI,0BAA0B,GAAsC,EAAE,CAAC;YAEvE,IAAI;gBACA,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBAClG,oBAAoB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI;gBAClE,2CAA2C;gBAC3C,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;oBACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBACzC,0BAA0B,CAAC,IAAI,iCACxB,IAAI,KACP,QAAQ,IACV,CAAC;iBACN;gBAED,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,0BAA0B,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;oBAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;wBACxB,IAAI,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;wBAE1D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;4BACxB,OAAO,IAAI,CAAC;yBACf;qBACJ;oBAED,MAAM,iBAAiB,GAAG,MAAM,yDAA2B,CAAC,gBAAgB,CAAC,IAA8B,CAAC,CAAC;oBAC7G,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;oBAC/D,OAAO,iBAAiB,CAAC;gBAC7B,CAAC,CAAA,CAAC,CACL,CAAC;gBAEF,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM,IAAI,CAAC,+BAA+B,CAAC,uBAAuB,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;gBAEnE,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE;oBACzE,kBAAkB,EAAE,uBAAuB;oBAC3C,KAAK,EAAE,IAAI,CAAC,YAAY;iBAC3B,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAClB,4CAA4C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC5E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;QACL,CAAC;KAAA;IAmED;;OAEG;IACW,2BAA2B,CAAC,aAAgD;;YACtF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;gBAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACvC;aACJ;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAO,CAAC,2BAA2B,CAAC,CAAC;aACnG;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1B;QACL,CAAC;KAAA;CACJ;AAxKD,0EAwKC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
1
|
import { IMpvMessageInput } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
|
|
2
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
3
|
+
import { MessageProperties } from "amqplib";
|
|
3
4
|
import { SaveDataToDBValidationSchema } from "../schema/SaveDataToDBSchema";
|
|
4
5
|
export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
|
|
5
6
|
readonly queueName = "saveDataToDB";
|
|
@@ -10,7 +11,7 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
|
|
|
10
11
|
private readonly messageTransformation;
|
|
11
12
|
private readonly logger;
|
|
12
13
|
constructor(queuePrefix: string);
|
|
13
|
-
protected execute(data: IMpvMessageInput): Promise<void>;
|
|
14
|
+
protected execute(data: IMpvMessageInput, messageProperties?: MessageProperties): Promise<void>;
|
|
14
15
|
private saveStops;
|
|
15
16
|
private sendDataToUpdateGtfsTripId;
|
|
16
17
|
private sendDataToUpdateDelay;
|
|
@@ -34,7 +34,7 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
34
34
|
this.messageTransformation = new MpvMessageTransformation_1.MpvMessageTransformation();
|
|
35
35
|
this.logger = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
36
36
|
}
|
|
37
|
-
execute(data) {
|
|
37
|
+
execute(data, messageProperties) {
|
|
38
38
|
var _a;
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
40
|
const taskStartTimestamp = new Date().getTime();
|
|
@@ -47,8 +47,8 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
47
47
|
.concat("updated_at"), true);
|
|
48
48
|
const { inserted, updated } = TripsMapper_1.default.mapTripEntitiesToUpdateDto(tripEntities, taskStartTimestamp);
|
|
49
49
|
// At this point we want to send ACK to rabbit and let the rest of the processing to be done in the background
|
|
50
|
-
yield this.sendDataToUpdateGtfsTripId(inserted, positions);
|
|
51
|
-
yield this.sendDataToUpdateDelay(updated, positions);
|
|
50
|
+
yield this.sendDataToUpdateGtfsTripId(inserted, positions, messageProperties === null || messageProperties === void 0 ? void 0 : messageProperties.timestamp);
|
|
51
|
+
yield this.sendDataToUpdateDelay(updated, positions, messageProperties === null || messageProperties === void 0 ? void 0 : messageProperties.timestamp);
|
|
52
52
|
// Save cis stops to later propagate platform codes to departure boards
|
|
53
53
|
yield this.saveStops(stops);
|
|
54
54
|
});
|
|
@@ -68,7 +68,7 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
-
sendDataToUpdateGtfsTripId(insertedTrips, positions) {
|
|
71
|
+
sendDataToUpdateGtfsTripId(insertedTrips, positions, firstMessageCreatedAt) {
|
|
72
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
73
|
try {
|
|
74
74
|
// send message for update GTFSTripIds
|
|
@@ -80,6 +80,8 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
80
80
|
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateGTFSTripId", {
|
|
81
81
|
trips: insertedBatch,
|
|
82
82
|
positions: positions.filter((position) => insertedIds.includes(position.trips_id)),
|
|
83
|
+
}, {
|
|
84
|
+
timestamp: firstMessageCreatedAt,
|
|
83
85
|
});
|
|
84
86
|
}
|
|
85
87
|
}
|
|
@@ -93,7 +95,7 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
93
95
|
}
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
|
-
sendDataToUpdateDelay(updatedTrips, positions) {
|
|
98
|
+
sendDataToUpdateDelay(updatedTrips, positions, firstMessageCreatedAt) {
|
|
97
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
100
|
try {
|
|
99
101
|
// aggregate runs by origin_route_name & run_number to keep related messages in same bulk
|
|
@@ -120,7 +122,7 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
120
122
|
}
|
|
121
123
|
const promises = [];
|
|
122
124
|
for (const key in chunks) {
|
|
123
|
-
promises.push(this.getTripDataAndSendToUpdateDelay(chunks[key], positions));
|
|
125
|
+
promises.push(this.getTripDataAndSendToUpdateDelay(chunks[key], positions, firstMessageCreatedAt));
|
|
124
126
|
}
|
|
125
127
|
yield Promise.all(promises);
|
|
126
128
|
}
|
|
@@ -134,13 +136,15 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
134
136
|
}
|
|
135
137
|
});
|
|
136
138
|
}
|
|
137
|
-
getTripDataAndSendToUpdateDelay(chunk, positions) {
|
|
139
|
+
getTripDataAndSendToUpdateDelay(chunk, positions, firstMessageCreatedAt) {
|
|
138
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
141
|
try {
|
|
140
142
|
const updatedTrips = yield this.tripsRepository.findAllAssocTripIds(chunk);
|
|
141
143
|
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
|
|
142
144
|
updatedTrips,
|
|
143
145
|
positions: positions.filter((position) => chunk.includes(position.trips_id)),
|
|
146
|
+
}, {
|
|
147
|
+
timestamp: firstMessageCreatedAt,
|
|
144
148
|
});
|
|
145
149
|
}
|
|
146
150
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,wEAAqE;AACrE,mEAAuF;AACvF,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;AAE9F,wEAAqE;AACrE,oEAAiE;AACjE,qFAA6D;AAG7D,qEAA4E;AAC5E,0FAAuF;AAEvF,MAAa,gBAAiB,SAAQ,sBAA8B;IAUhE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,cAAc,CAAC;QAC3B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,iDAA4B,CAAC;QASlD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,IAAI,mDAAwB,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,gCAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,iBAAqC;;;YACjF,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5F,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CACpD,KAAK;YACL,sGAAsG;YACtG,mFAAmF;YACnF,MAAM,CAAC,IAAI,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;iBACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,iBAAiB,CAAC;iBAC1C,MAAM,CAAC,YAAY,CAAC,EACzB,IAAI,CACP,CAAC;YAEF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,qBAAW,CAAC,0BAA0B,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;YAEvG,8GAA8G;YAC9G,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS,CAAC,CAAC;YAEnF,uEAAuE;YACvE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;KAC/B;IAEa,SAAS,CAAC,KAAoB;;YACxC,IAAI;gBACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAChD;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAC/G,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;IAEa,0BAA0B,CACpC,aAA4C,EAC5C,SAA0C,EAC1C,qBAA8B;;YAE9B,IAAI;gBACA,sCAAsC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;oBACtE,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;oBAC5D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC1C,OAAO,GAAG,CAAC,EAAE,CAAC;oBAClB,CAAC,CAAC,CAAC;oBAEH,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,kBAAkB,EAClB;wBACI,KAAK,EAAE,aAAa;wBACpB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBACrF,EACD;wBACI,SAAS,EAAE,qBAAqB;qBACnC,CACJ,CAAC;iBACL;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,iDAAiD,EACjD,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;IAEa,qBAAqB,CAC/B,YAA0C,EAC1C,SAA0C,EAC1C,qBAA8B;;YAE9B,IAAI;gBACA,yFAAyF;gBACzF,MAAM,UAAU,GAA6B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAExF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;oBAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBAC7C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACpC;yBAAM;wBACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC3D,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;qBACnF;iBACJ;gBAED,MAAM,MAAM,GAAe,EAAE,CAAC;gBAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;wBACd,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;qBACpB;oBACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;wBAC1B,GAAG,EAAE,CAAC;qBACT;iBACJ;gBACD,MAAM,QAAQ,GAAG,EAAE,CAAC;gBAEpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;iBACtG;gBAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC/B;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,0CAA0C,EAC1C,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;IAEa,+BAA+B,CACzC,KAAe,EACf,SAA0C,EAC1C,qBAA8B;;YAE9B,IAAI;gBACA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,aAAa,EACb;oBACI,YAAY;oBACZ,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAC/E,EACD;oBACI,SAAS,EAAE,qBAAqB;iBACnC,CACJ,CAAC;aACL;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,0CAA0C,EAC1C,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;CACJ;AA3LD,4CA2LC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IUpdateDelayInput } from "../interfaces/IUpdateDelayInput";
|
|
3
4
|
import { UpdateDelayValidationSchema } from "../schema/UpdateDelaySchema";
|
|
4
5
|
export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
|
|
@@ -12,8 +13,9 @@ export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
|
|
|
12
13
|
private readonly tripStopsManager;
|
|
13
14
|
private readonly delayComputationManager;
|
|
14
15
|
private readonly metroShapePointsFixer;
|
|
16
|
+
private readonly updateDelayLimiter;
|
|
15
17
|
constructor(queuePrefix: string);
|
|
16
|
-
protected execute(data: IUpdateDelayInput): Promise<void>;
|
|
18
|
+
protected execute(data: IUpdateDelayInput, messageProperties?: MessageProperties): Promise<void>;
|
|
17
19
|
private enrichTripWithGtfsComputationData;
|
|
18
20
|
/**
|
|
19
21
|
* Propagate known position properties from trips positions to processed positions, when the processed position property is
|
|
@@ -29,6 +31,7 @@ export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
|
|
|
29
31
|
* @param processedPositions - Arrays of all newly computed positions
|
|
30
32
|
*/
|
|
31
33
|
private updateComputedPositionsAndTrips;
|
|
34
|
+
private savePositions;
|
|
32
35
|
/**
|
|
33
36
|
* Expire delay computation cache for given trips
|
|
34
37
|
*/
|
package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js
CHANGED
|
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.UpdateDelayTask = void 0;
|
|
16
|
+
const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
|
|
16
17
|
const RopidGTFSStopTimesModel_1 = require("../../../../ropid-gtfs/RopidGTFSStopTimesModel");
|
|
17
18
|
const RopidGTFSTripsModel_1 = require("../../../../ropid-gtfs/RopidGTFSTripsModel");
|
|
18
19
|
const cache_1 = require("../../../../ropid-gtfs/data-access/cache");
|
|
@@ -32,12 +33,12 @@ const PositionsManager_1 = __importDefault(require("../helpers/PositionsManager"
|
|
|
32
33
|
const TripStopsManager_1 = require("../helpers/TripStopsManager");
|
|
33
34
|
const VPUtils_1 = require("../helpers/VPUtils");
|
|
34
35
|
const UpdateDelaySchema_1 = require("../schema/UpdateDelaySchema");
|
|
35
|
-
const
|
|
36
|
+
const UpdateDelayLimiter_1 = require("./helpers/UpdateDelayLimiter");
|
|
36
37
|
class UpdateDelayTask extends workers_1.AbstractTask {
|
|
37
38
|
constructor(queuePrefix) {
|
|
38
39
|
super(queuePrefix);
|
|
39
40
|
this.queueName = "updateDelay";
|
|
40
|
-
this.queueTtl =
|
|
41
|
+
this.queueTtl = 50 * 1000; // 50 seconds
|
|
41
42
|
this.schema = UpdateDelaySchema_1.UpdateDelayValidationSchema;
|
|
42
43
|
this.enrichTripWithGtfsComputationData = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
43
44
|
try {
|
|
@@ -104,79 +105,19 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
104
105
|
this.tripStopsManager = new TripStopsManager_1.TripStopsManager(gtfsStopTimesRepository, blockStopsRedisRepository);
|
|
105
106
|
this.delayComputationManager = new DelayComputationManager_1.DelayComputationManager(gtfsTripsRepository);
|
|
106
107
|
this.metroShapePointsFixer = Di_2.VPContainer.resolve(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer);
|
|
108
|
+
this.updateDelayLimiter = new UpdateDelayLimiter_1.UpdateDelayLimiter("UpdateDelayTask", this.queueTtl);
|
|
107
109
|
}
|
|
108
|
-
execute(data) {
|
|
110
|
+
execute(data, messageProperties) {
|
|
109
111
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
112
|
const tripIds = data.updatedTrips.map((trip) => trip.id);
|
|
111
113
|
if (tripIds.length === 0) {
|
|
112
114
|
return;
|
|
113
115
|
}
|
|
114
116
|
if (data.positions.length > 0) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
// unique block_ids and its parent input trips_id in key-value structure
|
|
121
|
-
let tripsIdsByBlockIds = {};
|
|
122
|
-
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
123
|
-
let blockIdToTripIdsDict = {};
|
|
124
|
-
for (const trip of data.updatedTrips) {
|
|
125
|
-
if (!trip.gtfs_block_id) {
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
129
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
133
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
134
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
135
|
-
}
|
|
136
|
-
if (!blockIdToTripIdsDict[trip.gtfs_block_id]) {
|
|
137
|
-
blockIdToTripIdsDict[trip.gtfs_block_id] = new Set();
|
|
138
|
-
}
|
|
139
|
-
if (trip.gtfs_trip_id) {
|
|
140
|
-
blockIdToTripIdsDict[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// Get cached schedule for each unique block_id
|
|
144
|
-
const blockIdToTripStopScheduleDict = yield Object.entries(blockIdToTripIdsDict).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
145
|
-
const tripStops = yield acc;
|
|
146
|
-
try {
|
|
147
|
-
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
148
|
-
tripStops[blockId] = schedule;
|
|
149
|
-
}
|
|
150
|
-
catch (err) {
|
|
151
|
-
helpers_1.IntegrationErrorHandler.handle(err);
|
|
152
|
-
}
|
|
153
|
-
return acc;
|
|
154
|
-
}), Promise.resolve({}));
|
|
155
|
-
// duplicate positions for trips with block_ids
|
|
156
|
-
for (const trip of data.updatedTrips) {
|
|
157
|
-
if (tripIdToPositionDict[trip.id]) {
|
|
158
|
-
if (trip.gtfs_block_id) {
|
|
159
|
-
// Determine current position tracking status
|
|
160
|
-
tripIdToPositionDict[trip.id].is_tracked = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, blockIdToTripStopScheduleDict[trip.gtfs_block_id], tripIdToPositionDict[trip.id]);
|
|
161
|
-
}
|
|
162
|
-
continue;
|
|
163
|
-
}
|
|
164
|
-
const currentPosition = data.positions.find((position) => {
|
|
165
|
-
return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
166
|
-
});
|
|
167
|
-
if (!currentPosition) {
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
// Determine position duplication and new position tracking status
|
|
171
|
-
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(blockIdToTripStopScheduleDict[trip.gtfs_block_id], trip, currentPosition);
|
|
172
|
-
// duplicate position with new created trip for second trip
|
|
173
|
-
const newPosition = Object.assign({}, currentPosition);
|
|
174
|
-
newPosition.trips_id = trip.id;
|
|
175
|
-
newPosition.is_tracked = newPositionTrackingStatus;
|
|
176
|
-
data.positions.push(newPosition);
|
|
177
|
-
}
|
|
178
|
-
// save all new positions
|
|
179
|
-
yield this.positionsRepository.bulkSave(data.positions);
|
|
117
|
+
yield this.savePositions(data);
|
|
118
|
+
}
|
|
119
|
+
if (!this.updateDelayLimiter.isActualMessage(messageProperties)) {
|
|
120
|
+
return; // skip processing of old messages
|
|
180
121
|
}
|
|
181
122
|
let gtfsComputationTrips = [];
|
|
182
123
|
let tripsPositionsWithGtfsData = [];
|
|
@@ -217,6 +158,75 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
217
158
|
}
|
|
218
159
|
});
|
|
219
160
|
}
|
|
161
|
+
savePositions(data) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
// unique ids in input data in key-value (id-positions) structure
|
|
164
|
+
let tripIdToPositionDict = {};
|
|
165
|
+
for (const position of data.positions) {
|
|
166
|
+
tripIdToPositionDict[position.trips_id] = position;
|
|
167
|
+
}
|
|
168
|
+
// unique block_ids and its parent input trips_id in key-value structure
|
|
169
|
+
let tripsIdsByBlockIds = {};
|
|
170
|
+
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
171
|
+
let blockIdToTripIdsDict = {};
|
|
172
|
+
for (const trip of data.updatedTrips) {
|
|
173
|
+
if (!trip.gtfs_block_id) {
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
177
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
181
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
182
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
183
|
+
}
|
|
184
|
+
if (!blockIdToTripIdsDict[trip.gtfs_block_id]) {
|
|
185
|
+
blockIdToTripIdsDict[trip.gtfs_block_id] = new Set();
|
|
186
|
+
}
|
|
187
|
+
if (trip.gtfs_trip_id) {
|
|
188
|
+
blockIdToTripIdsDict[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Get cached schedule for each unique block_id
|
|
192
|
+
const blockIdToTripStopScheduleDict = yield Object.entries(blockIdToTripIdsDict).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
const tripStops = yield acc;
|
|
194
|
+
try {
|
|
195
|
+
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
196
|
+
tripStops[blockId] = schedule;
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
helpers_1.IntegrationErrorHandler.handle(err);
|
|
200
|
+
}
|
|
201
|
+
return acc;
|
|
202
|
+
}), Promise.resolve({}));
|
|
203
|
+
// duplicate positions for trips with block_ids
|
|
204
|
+
for (const trip of data.updatedTrips) {
|
|
205
|
+
if (tripIdToPositionDict[trip.id]) {
|
|
206
|
+
if (trip.gtfs_block_id) {
|
|
207
|
+
// Determine current position tracking status
|
|
208
|
+
tripIdToPositionDict[trip.id].is_tracked = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, blockIdToTripStopScheduleDict[trip.gtfs_block_id], tripIdToPositionDict[trip.id]);
|
|
209
|
+
}
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
const currentPosition = data.positions.find((position) => {
|
|
213
|
+
return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
214
|
+
});
|
|
215
|
+
if (!currentPosition) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
// Determine position duplication and new position tracking status
|
|
219
|
+
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(blockIdToTripStopScheduleDict[trip.gtfs_block_id], trip, currentPosition);
|
|
220
|
+
// duplicate position with new created trip for second trip
|
|
221
|
+
const newPosition = Object.assign({}, currentPosition);
|
|
222
|
+
newPosition.trips_id = trip.id;
|
|
223
|
+
newPosition.is_tracked = newPositionTrackingStatus;
|
|
224
|
+
data.positions.push(newPosition);
|
|
225
|
+
}
|
|
226
|
+
// save all new positions
|
|
227
|
+
yield this.positionsRepository.bulkSave(data.positions);
|
|
228
|
+
});
|
|
229
|
+
}
|
|
220
230
|
/**
|
|
221
231
|
* Expire delay computation cache for given trips
|
|
222
232
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4FAAiF;AACjF,oFAAyE;AACzE,oEAA8G;AAC9G,sDAA2D;AAC3D,gGAAqF;AACrF,wCAA2D;AAC3D,oEAA8E;AAE9E,wEAAqE;AAErE,2EAAwF;AACxF,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;
|
|
1
|
+
{"version":3,"file":"UpdateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IUpdateGtfsTripIdInput } from "../interfaces/IUpdateGtfsTripIdInput";
|
|
3
4
|
import { UpdateGtfsTripIdValidationSchema } from "../schema/UpdateGtfsTripIdSchema";
|
|
4
5
|
export declare class UpdateGtfsTripIdTask extends AbstractTask<IUpdateGtfsTripIdInput> {
|
|
@@ -14,6 +15,6 @@ export declare class UpdateGtfsTripIdTask extends AbstractTask<IUpdateGtfsTripId
|
|
|
14
15
|
/**
|
|
15
16
|
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
16
17
|
*/
|
|
17
|
-
protected execute(data: IUpdateGtfsTripIdInput): Promise<void>;
|
|
18
|
+
protected execute(data: IUpdateGtfsTripIdInput, messageProperties?: MessageProperties): Promise<void>;
|
|
18
19
|
private generateAndSaveScheduledTrips;
|
|
19
20
|
}
|
|
@@ -41,7 +41,7 @@ class UpdateGtfsTripIdTask extends workers_1.AbstractTask {
|
|
|
41
41
|
/**
|
|
42
42
|
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
43
43
|
*/
|
|
44
|
-
execute(data) {
|
|
44
|
+
execute(data, messageProperties) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
// unique ids in input data in key-value (id-positions) structure
|
|
47
47
|
let tripIdToPositionDict = {};
|
|
@@ -122,7 +122,7 @@ class UpdateGtfsTripIdTask extends workers_1.AbstractTask {
|
|
|
122
122
|
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
|
|
123
123
|
positions: [],
|
|
124
124
|
updatedTrips: existingTrips.slice(i, i + chunkSize),
|
|
125
|
-
});
|
|
125
|
+
}, { timestamp: messageProperties === null || messageProperties === void 0 ? void 0 : messageProperties.timestamp });
|
|
126
126
|
}
|
|
127
127
|
// gtfsId updating errors
|
|
128
128
|
for (let i = 0, imax = existingTripErrors.length; i < imax; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4FAAiF;AACjF,oEAAsG;AACtG,sFAA2G;AAC3G,2EAA6F;AAC7F,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;
|
|
1
|
+
{"version":3,"file":"UpdateGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
2
3
|
import { IUpdateRunsGtfsTripInput } from "../interfaces/IUpdateRunsGtfsTripInput";
|
|
3
4
|
import { UpdateRunsGtfsTripIdValidationSchema } from "../schema/UpdateRunsGtfsTripIdSchema";
|
|
4
5
|
export declare class UpdateRunsGtfsTripIdTask extends AbstractTask<IUpdateRunsGtfsTripInput> {
|
|
@@ -14,7 +15,7 @@ export declare class UpdateRunsGtfsTripIdTask extends AbstractTask<IUpdateRunsGt
|
|
|
14
15
|
/**
|
|
15
16
|
* Process trips from runs data
|
|
16
17
|
*/
|
|
17
|
-
protected execute(data: IUpdateRunsGtfsTripInput): Promise<void>;
|
|
18
|
+
protected execute(data: IUpdateRunsGtfsTripInput, messageProperties?: MessageProperties): Promise<void>;
|
|
18
19
|
/**
|
|
19
20
|
* Process not public trips from runs data
|
|
20
21
|
*/
|
|
@@ -19,11 +19,11 @@ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
|
19
19
|
const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
|
|
20
20
|
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
21
21
|
const const_1 = require("../../../../../const");
|
|
22
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
23
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
22
24
|
const PositionsMapper_1 = __importDefault(require("../data-access/helpers/PositionsMapper"));
|
|
23
25
|
const TripsIdGenerator_1 = __importDefault(require("../data-access/helpers/TripsIdGenerator"));
|
|
24
26
|
const TripsMapper_1 = __importDefault(require("../data-access/helpers/TripsMapper"));
|
|
25
|
-
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
26
|
-
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
27
27
|
const GTFSTripRunManagerFactory_1 = require("../helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
|
|
28
28
|
const UpdateRunsGtfsTripIdSchema_1 = require("../schema/UpdateRunsGtfsTripIdSchema");
|
|
29
29
|
class UpdateRunsGtfsTripIdTask extends workers_1.AbstractTask {
|
|
@@ -55,7 +55,7 @@ class UpdateRunsGtfsTripIdTask extends workers_1.AbstractTask {
|
|
|
55
55
|
/**
|
|
56
56
|
* Process trips from runs data
|
|
57
57
|
*/
|
|
58
|
-
execute(data) {
|
|
58
|
+
execute(data, messageProperties) {
|
|
59
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
60
|
const schedule = yield this.gtfsTripRunManager.setAndReturnScheduledTrips(data.run);
|
|
61
61
|
if (schedule.length === 0) {
|
|
@@ -74,7 +74,9 @@ class UpdateRunsGtfsTripIdTask extends workers_1.AbstractTask {
|
|
|
74
74
|
const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(schedule, data);
|
|
75
75
|
// send to updateDelay only if there are some trips updated
|
|
76
76
|
if (delayMsg.updatedTrips.length > 0) {
|
|
77
|
-
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", delayMsg
|
|
77
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", delayMsg, {
|
|
78
|
+
timestamp: messageProperties === null || messageProperties === void 0 ? void 0 : messageProperties.timestamp,
|
|
79
|
+
});
|
|
78
80
|
}
|
|
79
81
|
});
|
|
80
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateRunsGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAA2E;AAC3E,sFAA2G;AAC3G,2EAAoE;AACpE,2FAAqF;AACrF,2EAA6E;
|
|
1
|
+
{"version":3,"file":"UpdateRunsGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
|
|
2
|
+
import { MessageProperties } from "amqplib";
|
|
3
|
+
export declare class UpdateDelayLimiter {
|
|
4
|
+
private name;
|
|
5
|
+
private queueTtl;
|
|
6
|
+
private static readonly MAX_SKIPPED_ITERATIONS;
|
|
7
|
+
private skippedIterations;
|
|
8
|
+
private logger;
|
|
9
|
+
constructor(name: string, queueTtl: number, logger?: ILogger);
|
|
10
|
+
isActualMessage(messageProperties: MessageProperties | undefined): boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateDelayLimiter = void 0;
|
|
4
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
5
|
+
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
|
|
6
|
+
/* Helper to decide whether initial message is older than the queue TTL, do not continue with processing it.
|
|
7
|
+
* It is expected that older positions will be processed with more actual data.
|
|
8
|
+
*/
|
|
9
|
+
class UpdateDelayLimiter {
|
|
10
|
+
constructor(name, queueTtl, logger) {
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.queueTtl = queueTtl;
|
|
13
|
+
this.skippedIterations = 0;
|
|
14
|
+
this.logger = logger !== null && logger !== void 0 ? logger : Di_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
15
|
+
}
|
|
16
|
+
isActualMessage(messageProperties) {
|
|
17
|
+
if (!messageProperties) {
|
|
18
|
+
this.logger.warn(`[UpdateDelayLimiter] Missing message properties for ${this.name}`);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
else if (!messageProperties.timestamp) {
|
|
22
|
+
this.logger.warn(`[UpdateDelayLimiter] Missing message timestamp for ${this.name}`);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
else if (new Date().getTime() - messageProperties.timestamp > this.queueTtl) {
|
|
26
|
+
this.skippedIterations++;
|
|
27
|
+
if (this.skippedIterations > UpdateDelayLimiter.MAX_SKIPPED_ITERATIONS) {
|
|
28
|
+
this.skippedIterations = 0;
|
|
29
|
+
this.logger.warn(`[UpdateDelayLimiter] Skipped processing of update delay task ${this.skippedIterations} times.`);
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.UpdateDelayLimiter = UpdateDelayLimiter;
|
|
37
|
+
UpdateDelayLimiter.MAX_SKIPPED_ITERATIONS = 100;
|
|
38
|
+
//# sourceMappingURL=UpdateDelayLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateDelayLimiter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/helpers/UpdateDelayLimiter.ts"],"names":[],"mappings":";;;AAAA,wEAAqE;AAErE,qEAA0F;AAG1F;;GAEG;AACH,MAAa,kBAAkB;IAK3B,YAAoB,IAAY,EAAU,QAAgB,EAAE,MAAgB;QAAxD,SAAI,GAAJ,IAAI,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAQ;QAHlD,sBAAiB,GAAG,CAAC,CAAC;QAI1B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,+BAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAC1F,CAAC;IAEM,eAAe,CAAC,iBAAgD;QACnE,IAAI,CAAC,iBAAiB,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAErF,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpF,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAI,iBAAiB,CAAC,SAAoB,GAAG,IAAI,CAAC,QAAQ,EAAE;YACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,sBAAsB,EAAE;gBACpE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,IAAI,CAAC,iBAAiB,SAAS,CAAC,CAAC;aACrH;YAED,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;;AA7BL,gDA8BC;AA7B2B,yCAAsB,GAAG,GAAG,AAAN,CAAO"}
|
|
@@ -733,9 +733,10 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
|
|
|
733
733
|
|
|
734
734
|
- vstupní rabbitmq fronta
|
|
735
735
|
- název: vehicle-positions.vehiclepositions.updateDelay
|
|
736
|
-
- TTL:
|
|
736
|
+
- TTL: 50 sekund (včetně zpracování v předchozích frontách)
|
|
737
737
|
- parametry: `{ updatedTrips, positions, schedule }`
|
|
738
738
|
- validační schéma: [UpdateDelaySchema](../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.ts)
|
|
739
|
+
- očekává parametrech zprávy `timestamp` s časovou značkou z první fronty, která obdržela nová data např. saveDataToDB
|
|
739
740
|
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
740
741
|
- název: vehicle-positions.vehiclepositions.propagateDelay
|
|
741
742
|
- datové zdroje
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -540,12 +540,6 @@ paths:
|
|
|
540
540
|
type: boolean
|
|
541
541
|
default: false
|
|
542
542
|
example: true
|
|
543
|
-
- name: includePositions
|
|
544
|
-
in: query
|
|
545
|
-
description: Enrich result dataset with positions. Limits the result dataset to 100.
|
|
546
|
-
schema:
|
|
547
|
-
type: boolean
|
|
548
|
-
example: true
|
|
549
543
|
- name: cisTripNumber
|
|
550
544
|
in: query
|
|
551
545
|
description: Filter result by CIS trip number
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "2.12.7-dev.
|
|
3
|
+
"version": "2.12.7-dev.1248998205",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@golemio/core": ">=1.9.16"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.1-dev.
|
|
80
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.1-dev.1248990715",
|
|
81
81
|
"@turf/turf": "^6.5.0",
|
|
82
82
|
"cheap-ruler": "^3.0.2",
|
|
83
83
|
"csv-parser": "^3.0.0",
|