@golemio/pid 2.8.4-dev.950352382 → 2.8.4-dev.950679748
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 +5 -0
- 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 +93 -71
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ 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");
|
|
40
41
|
class DelayComputationManager {
|
|
41
42
|
constructor(gtfsTripsRepository) {
|
|
42
43
|
this.gtfsTripsRepository = gtfsTripsRepository;
|
|
@@ -47,6 +48,7 @@ class DelayComputationManager {
|
|
|
47
48
|
* @returns {IComputationTrip} - Result with shape anchor points
|
|
48
49
|
*/
|
|
49
50
|
this.getComputationObject = (tripId) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const computationObjectSpan = (0, monitoring_1.createChildSpan)("Task.UpdateDelay.GetComputationObject");
|
|
50
52
|
try {
|
|
51
53
|
const stopTimes = yield this.gtfsTripsRepository.findByIdWithStopTimes(tripId);
|
|
52
54
|
const shapes = yield this.gtfsTripsRepository.findByIdWithShapes(tripId);
|
|
@@ -140,6 +142,9 @@ class DelayComputationManager {
|
|
|
140
142
|
helpers_1.log.error(err);
|
|
141
143
|
throw new golemio_errors_1.GeneralError("Error while getting object for delay calculation (trip_id=" + tripId + ").", this.constructor.name, err);
|
|
142
144
|
}
|
|
145
|
+
finally {
|
|
146
|
+
computationObjectSpan === null || computationObjectSpan === void 0 ? void 0 : computationObjectSpan.end();
|
|
147
|
+
}
|
|
143
148
|
});
|
|
144
149
|
/**
|
|
145
150
|
* Return geometry of anchor points with distance from start along trip track shape
|
|
@@ -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,6 +27,7 @@ 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");
|
|
30
31
|
class UpdateDelayTask extends workers_1.AbstractTask {
|
|
31
32
|
constructor(queuePrefix) {
|
|
32
33
|
super(queuePrefix);
|
|
@@ -40,17 +41,26 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
40
41
|
* @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
|
|
41
42
|
*/
|
|
42
43
|
this.updateComputedPositionsAndTrips = (computedResult) => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
44
|
+
const updateSpan = (0, trace_provider_1.createChildSpan)("Task.UpdateDelay.UpdateComputedPositionsAndTrips");
|
|
45
|
+
updateSpan === null || updateSpan === void 0 ? void 0 : updateSpan.setAttribute("updateComputedTrips", computedResult.length);
|
|
46
|
+
try {
|
|
47
|
+
const positions = computedResult.flatMap((e) => e.positions);
|
|
48
|
+
updateSpan === null || updateSpan === void 0 ? void 0 : updateSpan.setAttribute("updateComputedPositions", positions.length);
|
|
49
|
+
const positionsUpdated = yield this.positionsRepository.bulkUpdate(positions);
|
|
50
|
+
const tripsUpdated = yield this.tripsRepository.bulkUpdate(computedResult.map((e) => ({
|
|
51
|
+
id: e.context.tripId,
|
|
52
|
+
last_position_id: e.context.lastPositionId,
|
|
53
|
+
last_position_context: e.context,
|
|
54
|
+
is_canceled: e.context.lastPositionCanceled,
|
|
55
|
+
})));
|
|
56
|
+
return {
|
|
57
|
+
positionsUpdated,
|
|
58
|
+
tripsUpdated,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
updateSpan === null || updateSpan === void 0 ? void 0 : updateSpan.end();
|
|
63
|
+
}
|
|
54
64
|
});
|
|
55
65
|
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
56
66
|
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
@@ -66,73 +76,82 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
66
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
77
|
const tripIds = data.updatedTrips.map((trip) => trip.id);
|
|
68
78
|
if (((_a = data.positions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
77
|
-
let blockIdToTripIdsDict = {};
|
|
78
|
-
for (const trip of data.updatedTrips) {
|
|
79
|
-
if (!trip.gtfs_block_id) {
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
83
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
87
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
88
|
-
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
89
|
-
}
|
|
90
|
-
if (!blockIdToTripIdsDict[trip.gtfs_block_id]) {
|
|
91
|
-
blockIdToTripIdsDict[trip.gtfs_block_id] = new Set();
|
|
92
|
-
}
|
|
93
|
-
if (trip.gtfs_trip_id) {
|
|
94
|
-
blockIdToTripIdsDict[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Get cached schedule for each unique block_id
|
|
98
|
-
const blockIdToTripStopScheduleDict = yield Object.entries(blockIdToTripIdsDict).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
const tripStops = yield acc;
|
|
100
|
-
try {
|
|
101
|
-
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
102
|
-
tripStops[blockId] = schedule;
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
helpers_1.IntegrationErrorHandler.handle(err);
|
|
79
|
+
const positionSpan = (0, trace_provider_1.createChildSpan)("Task.UpdateDelay.positions");
|
|
80
|
+
positionSpan === null || positionSpan === void 0 ? void 0 : positionSpan.setAttribute("positions", data.positions.length);
|
|
81
|
+
try {
|
|
82
|
+
// unique ids in input data in key-value (id-positions) structure
|
|
83
|
+
let tripIdToPositionDict = {};
|
|
84
|
+
for (const position of data.positions) {
|
|
85
|
+
tripIdToPositionDict[position.trips_id] = position;
|
|
106
86
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (trip.gtfs_block_id) {
|
|
113
|
-
|
|
114
|
-
|
|
87
|
+
// unique block_ids and its parent input trips_id in key-value structure
|
|
88
|
+
let tripsIdsByBlockIds = {};
|
|
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);
|
|
115
108
|
}
|
|
116
|
-
continue;
|
|
117
109
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
110
|
+
// Get cached schedule for each unique block_id
|
|
111
|
+
const blockIdToTripStopScheduleDict = yield Object.entries(blockIdToTripIdsDict).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const tripStops = yield acc;
|
|
113
|
+
try {
|
|
114
|
+
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
115
|
+
tripStops[blockId] = schedule;
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
helpers_1.IntegrationErrorHandler.handle(err);
|
|
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);
|
|
123
144
|
}
|
|
124
|
-
//
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
newPosition.tracking = newPositionTrackingStatus;
|
|
130
|
-
data.positions.push(newPosition);
|
|
145
|
+
// save all new positions
|
|
146
|
+
yield this.positionsRepository.save(data.positions);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
positionSpan === null || positionSpan === void 0 ? void 0 : positionSpan.end();
|
|
131
150
|
}
|
|
132
|
-
// save all new positions
|
|
133
|
-
yield this.positionsRepository.save(data.positions);
|
|
134
151
|
}
|
|
135
152
|
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);
|
|
136
155
|
try {
|
|
137
156
|
// Get all positions for each trip
|
|
138
157
|
const tripsPositionsToUpdate = yield this.positionsRepository.getPositionsForUpdateDelay(tripIds);
|
|
@@ -168,6 +187,9 @@ class UpdateDelayTask extends workers_1.AbstractTask {
|
|
|
168
187
|
catch (err) {
|
|
169
188
|
throw new golemio_errors_1.GeneralError(`Error while updating delay. For trip ids:${tripIds.slice(0, 10).join(",")}`, this.constructor.name, err);
|
|
170
189
|
}
|
|
190
|
+
finally {
|
|
191
|
+
tripsSpan === null || tripsSpan === void 0 ? void 0 : tripsSpan.end();
|
|
192
|
+
}
|
|
171
193
|
}
|
|
172
194
|
});
|
|
173
195
|
}
|
|
@@ -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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"}
|