@golemio/pid 2.8.6-dev.953335256 → 2.8.6-dev.955691187
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/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +0 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +72 -93
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,7 +37,6 @@ const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
|
37
37
|
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
38
38
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
39
39
|
const turf = __importStar(require("@turf/turf"));
|
|
40
|
-
const monitoring_1 = require("@golemio/core/dist/monitoring");
|
|
41
40
|
class DelayComputationManager {
|
|
42
41
|
constructor(gtfsTripsRepository) {
|
|
43
42
|
this.gtfsTripsRepository = gtfsTripsRepository;
|
|
@@ -48,15 +47,12 @@ class DelayComputationManager {
|
|
|
48
47
|
* @returns {IComputationTrip} - Result with shape anchor points
|
|
49
48
|
*/
|
|
50
49
|
this.getComputationObject = (tripId) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const computationObjectSpan = (0, monitoring_1.createChildSpan)("Task.UpdateDelay.GetComputationObject");
|
|
52
50
|
const stopTimes = yield this.gtfsTripsRepository.findByIdWithStopTimes(tripId);
|
|
53
51
|
const shapes = yield this.gtfsTripsRepository.findByIdWithShapes(tripId);
|
|
54
52
|
if (!shapes || !shapes.shape_id || !shapes.shapes || shapes.shapes.length === 0) {
|
|
55
|
-
computationObjectSpan === null || computationObjectSpan === void 0 ? void 0 : computationObjectSpan.end();
|
|
56
53
|
throw new golemio_errors_1.GeneralError(`"trip.shape_id" or "trip.shapes" was not found for id ${tripId}.`);
|
|
57
54
|
}
|
|
58
55
|
if (!stopTimes || !stopTimes.stop_times || stopTimes.stop_times.length === 0) {
|
|
59
|
-
computationObjectSpan === null || computationObjectSpan === void 0 ? void 0 : computationObjectSpan.end();
|
|
60
56
|
throw new golemio_errors_1.GeneralError(`"trip.stop_times" was not found for id ${tripId}.`);
|
|
61
57
|
}
|
|
62
58
|
const shapesGeometryAnchorPoints = this.getShapesGeometryAnchorPoints(stopTimes.shape_id, shapes.shapes, stopTimes.stop_times);
|
|
@@ -133,7 +129,6 @@ class DelayComputationManager {
|
|
|
133
129
|
time_scheduled_seconds: timeScheduledSeconds,
|
|
134
130
|
});
|
|
135
131
|
}
|
|
136
|
-
computationObjectSpan === null || computationObjectSpan === void 0 ? void 0 : computationObjectSpan.end();
|
|
137
132
|
return {
|
|
138
133
|
trip_id: tripId,
|
|
139
134
|
stop_times: stopTimes.stop_times,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAsE;AACtE,2EAAoE;AACpE,6EAAwE;AACxE,iDAAmC;
|
|
1
|
+
{"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js
CHANGED
|
@@ -27,7 +27,6 @@ const PositionsManager_1 = __importDefault(require("../helpers/PositionsManager"
|
|
|
27
27
|
const TripStopsManager_1 = require("../helpers/TripStopsManager");
|
|
28
28
|
const VPUtils_1 = require("../helpers/VPUtils");
|
|
29
29
|
const UpdateDelaySchema_1 = require("../schema/UpdateDelaySchema");
|
|
30
|
-
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
31
30
|
class UpdateDelayTask extends workers_1.AbstractTask {
|
|
32
31
|
constructor(queuePrefix) {
|
|
33
32
|
super(queuePrefix);
|
|
@@ -41,26 +40,18 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
41
40
|
* @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
|
|
42
41
|
*/
|
|
43
42
|
this.updateComputedPositionsAndTrips = (computedResult) => __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return {
|
|
57
|
-
positionsUpdated,
|
|
58
|
-
tripsUpdated,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
updateSpan === null || updateSpan === void 0 ? void 0 : updateSpan.end();
|
|
63
|
-
}
|
|
43
|
+
const positions = computedResult.flatMap((e) => e.positions);
|
|
44
|
+
const positionsUpdated = yield this.positionsRepository.bulkUpdate(positions);
|
|
45
|
+
const tripsUpdated = yield this.tripsRepository.bulkUpdate(computedResult.map((e) => ({
|
|
46
|
+
id: e.context.tripId,
|
|
47
|
+
last_position_id: e.context.lastPositionId,
|
|
48
|
+
last_position_context: e.context,
|
|
49
|
+
is_canceled: e.context.lastPositionCanceled,
|
|
50
|
+
})));
|
|
51
|
+
return {
|
|
52
|
+
positionsUpdated,
|
|
53
|
+
tripsUpdated,
|
|
54
|
+
};
|
|
64
55
|
});
|
|
65
56
|
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
66
57
|
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
@@ -76,82 +67,73 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
76
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
68
|
const tripIds = data.updatedTrips.map((trip) => trip.id);
|
|
78
69
|
if (((_a = data.positions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
70
|
+
// unique ids in input data in key-value (id-positions) structure
|
|
71
|
+
let tripIdToPositionDict = {};
|
|
72
|
+
for (const position of data.positions) {
|
|
73
|
+
tripIdToPositionDict[position.trips_id] = position;
|
|
74
|
+
}
|
|
75
|
+
// unique block_ids and its parent input trips_id in key-value structure
|
|
76
|
+
let tripsIdsByBlockIds = {};
|
|
77
|
+
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
78
|
+
let blockIdToTripIdsDict = {};
|
|
79
|
+
for (const trip of data.updatedTrips) {
|
|
80
|
+
if (!trip.gtfs_block_id) {
|
|
81
|
+
continue;
|
|
86
82
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
90
|
-
let blockIdToTripIdsDict = {};
|
|
91
|
-
for (const trip of data.updatedTrips) {
|
|
92
|
-
if (!trip.gtfs_block_id) {
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
96
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
100
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
101
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
102
|
-
}
|
|
103
|
-
if (!blockIdToTripIdsDict[trip.gtfs_block_id]) {
|
|
104
|
-
blockIdToTripIdsDict[trip.gtfs_block_id] = new Set();
|
|
105
|
-
}
|
|
106
|
-
if (trip.gtfs_trip_id) {
|
|
107
|
-
blockIdToTripIdsDict[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
108
|
-
}
|
|
83
|
+
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
84
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
109
85
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return acc;
|
|
121
|
-
}), Promise.resolve({}));
|
|
122
|
-
// duplicate positions for trips with block_ids
|
|
123
|
-
for (const trip of data.updatedTrips) {
|
|
124
|
-
if (tripIdToPositionDict[trip.id]) {
|
|
125
|
-
if (trip.gtfs_block_id) {
|
|
126
|
-
// Determine current position tracking status
|
|
127
|
-
tripIdToPositionDict[trip.id].tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, blockIdToTripStopScheduleDict[trip.gtfs_block_id], tripIdToPositionDict[trip.id]);
|
|
128
|
-
}
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
|
-
const currentPosition = data.positions.find((position) => {
|
|
132
|
-
return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
133
|
-
});
|
|
134
|
-
if (!currentPosition) {
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
// Determine position duplication and new position tracking status
|
|
138
|
-
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(blockIdToTripStopScheduleDict[trip.gtfs_block_id], trip, currentPosition);
|
|
139
|
-
// duplicate position with new created trip for second trip
|
|
140
|
-
const newPosition = Object.assign({}, currentPosition);
|
|
141
|
-
newPosition.trips_id = trip.id;
|
|
142
|
-
newPosition.tracking = newPositionTrackingStatus;
|
|
143
|
-
data.positions.push(newPosition);
|
|
86
|
+
else {
|
|
87
|
+
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
88
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
89
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
90
|
+
}
|
|
91
|
+
if (!blockIdToTripIdsDict[trip.gtfs_block_id]) {
|
|
92
|
+
blockIdToTripIdsDict[trip.gtfs_block_id] = new Set();
|
|
93
|
+
}
|
|
94
|
+
if (trip.gtfs_trip_id) {
|
|
95
|
+
blockIdToTripIdsDict[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
144
96
|
}
|
|
145
|
-
// save all new positions
|
|
146
|
-
yield this.positionsRepository.save(data.positions);
|
|
147
97
|
}
|
|
148
|
-
|
|
149
|
-
|
|
98
|
+
// Get cached schedule for each unique block_id
|
|
99
|
+
const blockIdToTripStopScheduleDict = yield Object.entries(blockIdToTripIdsDict).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const tripStops = yield acc;
|
|
101
|
+
try {
|
|
102
|
+
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
103
|
+
tripStops[blockId] = schedule;
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
helpers_1.IntegrationErrorHandler.handle(err);
|
|
107
|
+
}
|
|
108
|
+
return acc;
|
|
109
|
+
}), Promise.resolve({}));
|
|
110
|
+
// duplicate positions for trips with block_ids
|
|
111
|
+
for (const trip of data.updatedTrips) {
|
|
112
|
+
if (tripIdToPositionDict[trip.id]) {
|
|
113
|
+
if (trip.gtfs_block_id) {
|
|
114
|
+
// Determine current position tracking status
|
|
115
|
+
tripIdToPositionDict[trip.id].tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, blockIdToTripStopScheduleDict[trip.gtfs_block_id], tripIdToPositionDict[trip.id]);
|
|
116
|
+
}
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const currentPosition = data.positions.find((position) => {
|
|
120
|
+
return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
121
|
+
});
|
|
122
|
+
if (!currentPosition) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
// Determine position duplication and new position tracking status
|
|
126
|
+
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(blockIdToTripStopScheduleDict[trip.gtfs_block_id], trip, currentPosition);
|
|
127
|
+
// duplicate position with new created trip for second trip
|
|
128
|
+
const newPosition = Object.assign({}, currentPosition);
|
|
129
|
+
newPosition.trips_id = trip.id;
|
|
130
|
+
newPosition.tracking = newPositionTrackingStatus;
|
|
131
|
+
data.positions.push(newPosition);
|
|
150
132
|
}
|
|
133
|
+
// save all new positions
|
|
134
|
+
yield this.positionsRepository.save(data.positions);
|
|
151
135
|
}
|
|
152
136
|
if (((_b = data.updatedTrips) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
153
|
-
const tripsSpan = (0, trace_provider_1.createChildSpan)("Task.UpdateDelay.updatedTrips");
|
|
154
|
-
tripsSpan === null || tripsSpan === void 0 ? void 0 : tripsSpan.setAttribute("updatedTrips", data.updatedTrips.length);
|
|
155
137
|
try {
|
|
156
138
|
// Get all positions for each trip
|
|
157
139
|
const tripsPositionsToUpdate = yield this.positionsRepository.getPositionsForUpdateDelay(tripIds);
|
|
@@ -192,9 +174,6 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
192
174
|
catch (err) {
|
|
193
175
|
throw new golemio_errors_1.GeneralError(`Error while updating delay. For trip ids:${tripIds.slice(0, 10).join(",")}`, this.constructor.name, err);
|
|
194
176
|
}
|
|
195
|
-
finally {
|
|
196
|
-
tripsSpan === null || tripsSpan === void 0 ? void 0 : tripsSpan.end();
|
|
197
|
-
}
|
|
198
177
|
}
|
|
199
178
|
});
|
|
200
179
|
}
|
|
@@ -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,2EAA6F;AAC7F,2FAAqF;AACrF,2EAA6E;AAC7E,6EAAwE;AACxE,4EAAyF;AACzF,oEAAiE;AACjE,gFAA6E;AAC7E,mFAA2D;AAC3D,kEAA+D;AAC/D,gDAA6C;AAU7C,mEAA0E;
|
|
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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"}
|