@golemio/pid 3.14.1-dev.1816586059 → 3.14.1-rc.1818801273
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/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/const.d.ts +0 -6
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/const.js +1 -7
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/const.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +0 -7
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +30 -94
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
- package/dist/output-gateway/pid/index.d.ts +0 -1
- package/dist/output-gateway/pid/index.js.map +1 -1
- package/dist/output-gateway/pid/models/helpers/SkipHelper.js +2 -6
- package/dist/output-gateway/pid/models/helpers/SkipHelper.js.map +1 -1
- package/docs/cache/types/redis.md +1 -3
- package/package.json +3 -3
- package/db/migrations/postgresql/20250509095900-get-departures-planned-start.js +0 -53
- package/db/migrations/postgresql/sqls/20250509095900-get-departures-planned-start-down.sql +0 -189
- package/db/migrations/postgresql/sqls/20250509095900-get-departures-planned-start-up.sql +0 -200
|
@@ -20,6 +20,7 @@ class VehiclePositionsController extends controllers_1.BaseController {
|
|
|
20
20
|
const dataBatches = this.splitData(inputData);
|
|
21
21
|
for (const batch of dataBatches) {
|
|
22
22
|
await this.sendMessageToExchange("input." + this.queuePrefix + ".saveDataToDB", JSON.stringify(batch), {
|
|
23
|
+
persistent: true,
|
|
23
24
|
timestamp: new Date().getTime(),
|
|
24
25
|
});
|
|
25
26
|
}
|
|
@@ -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,KAAK,EAAE,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,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,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;
|
|
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,KAAK,EAAE,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,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/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":";;;AAAA,yEAA2D;AAC3D,qCAA2D;AAM3D,iIAAoG;AACpG,wFAA6F;AAE7F,wEAAqE;AACrE,wFAAqF;AACrF,6EAAwE;AACxE,mFAAkF;
|
|
1
|
+
{"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1 @@
|
|
|
1
1
|
export declare const MPS_TO_KMH = 3.6;
|
|
2
|
-
/**
|
|
3
|
-
* The ratio of the lock timeout to the refresh interval.
|
|
4
|
-
* This is used to determine how long to wait before refreshing the lock.
|
|
5
|
-
* The refresh interval checks if the lock is still held and if not, it will reset the lock timeout.
|
|
6
|
-
*/
|
|
7
|
-
export declare const LOCK_REFRESH_INTERVAL_RATIO = 0.65;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MPS_TO_KMH = void 0;
|
|
4
4
|
exports.MPS_TO_KMH = 3.6;
|
|
5
|
-
/**
|
|
6
|
-
* The ratio of the lock timeout to the refresh interval.
|
|
7
|
-
* This is used to determine how long to wait before refreshing the lock.
|
|
8
|
-
* The refresh interval checks if the lock is still held and if not, it will reset the lock timeout.
|
|
9
|
-
*/
|
|
10
|
-
exports.LOCK_REFRESH_INTERVAL_RATIO = 0.65;
|
|
11
5
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,GAAG,CAAC"}
|
package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts
CHANGED
|
@@ -9,14 +9,8 @@ export declare class GenerateFilesTask extends AbstractEmptyTask {
|
|
|
9
9
|
private readonly gtfsRtRedisRepository;
|
|
10
10
|
private readonly alertsGenerator;
|
|
11
11
|
private readonly vehicleDescriptor;
|
|
12
|
-
private lockTimeout;
|
|
13
|
-
private refreshInterval;
|
|
14
12
|
constructor(queuePrefix: string);
|
|
15
13
|
protected execute(): Promise<void>;
|
|
16
|
-
private readStopTimeIds;
|
|
17
|
-
private speedMpsToKmh;
|
|
18
|
-
private feedEntityFromTripData;
|
|
19
|
-
protected generateFiles(): Promise<void>;
|
|
20
14
|
/**
|
|
21
15
|
* Get rid of vehicle descriptors with duplicate IDs from a given GTFS-RT message
|
|
22
16
|
*
|
|
@@ -49,5 +43,4 @@ export declare class GenerateFilesTask extends AbstractEmptyTask {
|
|
|
49
43
|
private validateAndSaveBuffer;
|
|
50
44
|
private shouldFallbackToScheduleTime;
|
|
51
45
|
private handleCanceledTrip;
|
|
52
|
-
private createMutex;
|
|
53
46
|
}
|
package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js
CHANGED
|
@@ -23,16 +23,12 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
|
23
23
|
const WebhookDecorators_1 = require("@golemio/core/dist/integration-engine/workers/helpers/WebhookDecorators");
|
|
24
24
|
const CloudflareCachePurgeWebhook_1 = require("@golemio/core/dist/integration-engine/workers/webhooks/CloudflareCachePurgeWebhook");
|
|
25
25
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
26
|
-
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
27
|
-
const redis_semaphore_1 = require("@golemio/core/dist/shared/redis-semaphore");
|
|
28
|
-
const promises_1 = require("node:timers/promises");
|
|
29
26
|
const ovapi_gtfs_realtime_bindings_1 = require("@golemio/ovapi-gtfs-realtime-bindings");
|
|
30
27
|
const const_1 = require("../../../../../const");
|
|
31
28
|
const GtfsRtRedisRepository_1 = require("../data-access/GtfsRtRedisRepository");
|
|
32
29
|
const AlertsGenerator_1 = require("../helpers/AlertsGenerator");
|
|
33
30
|
const VehicleDescriptor_1 = require("../helpers/VehicleDescriptor");
|
|
34
31
|
const const_2 = require("../helpers/const");
|
|
35
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
36
32
|
class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
37
33
|
constructor(queuePrefix) {
|
|
38
34
|
super(queuePrefix);
|
|
@@ -48,41 +44,14 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
48
44
|
const vymiRoutesRepository = new ropid_vymi_1.RopidVYMIEventsRoutesModel();
|
|
49
45
|
this.alertsGenerator = new AlertsGenerator_1.AlertsGenerator(GenerateFilesTask.config, this.gtfsRtRedisRepository, jisEventsRepository, vymiEventsRepository, vymiRoutesRepository);
|
|
50
46
|
this.vehicleDescriptor = new VehicleDescriptor_1.VehicleDescriptor();
|
|
51
|
-
// should finish under 10 seconds
|
|
52
|
-
this.lockTimeout = GenerateFilesTask.config.getValue("module.pid.vehicle-positions.gtfsRealtime.mutexLockTimeout", 10000);
|
|
53
|
-
this.refreshInterval = this.lockTimeout * const_2.LOCK_REFRESH_INTERVAL_RATIO;
|
|
54
47
|
}
|
|
55
48
|
async execute() {
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
const startTimeMs = Date.now();
|
|
63
|
-
try {
|
|
64
|
-
await this.generateFiles();
|
|
65
|
-
}
|
|
66
|
-
catch (err) {
|
|
67
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
68
|
-
throw err;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
throw new golemio_errors_1.GeneralError("Error while processing task to generate files for GTFS-RT.", this.constructor.name, err);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
finally {
|
|
75
|
-
await mutex.release();
|
|
76
|
-
}
|
|
77
|
-
const ellapsedTimeInMs = Date.now() - startTimeMs;
|
|
78
|
-
const outrunLockTimeoutMsg = ellapsedTimeInMs > this.lockTimeout ? "Slow" : "OK";
|
|
79
|
-
this.logger.warn(`${this.constructor.name}: finished in ${ellapsedTimeInMs}ms = ${outrunLockTimeoutMsg}.`);
|
|
80
|
-
if (ellapsedTimeInMs < this.refreshInterval) {
|
|
81
|
-
await (0, promises_1.setTimeout)(Math.abs(this.refreshInterval - ellapsedTimeInMs));
|
|
82
|
-
}
|
|
83
|
-
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, this.queueName, {});
|
|
84
|
-
}
|
|
85
|
-
readStopTimeIds(tripData) {
|
|
49
|
+
const startDateTime = new Date();
|
|
50
|
+
const tripData = await this.tripsRepository.findAllForGTFSRt(startDateTime);
|
|
51
|
+
const feedHeader = this.createFeedHeader();
|
|
52
|
+
const updatesMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
53
|
+
const positionsMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
54
|
+
const pidFeedMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
86
55
|
const stopTimesIds = [];
|
|
87
56
|
for (const tripRecord of tripData) {
|
|
88
57
|
const { id } = this.vehicleDescriptor.getVehicleDescriptor(tripRecord);
|
|
@@ -90,37 +59,6 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
90
59
|
stopTimesIds.push(`${id}-${tripRecord.gtfs_trip_id}`);
|
|
91
60
|
}
|
|
92
61
|
}
|
|
93
|
-
return stopTimesIds;
|
|
94
|
-
}
|
|
95
|
-
speedMpsToKmh(speed) {
|
|
96
|
-
return speed ? parseFloat((speed / const_2.MPS_TO_KMH).toFixed(2)) : null;
|
|
97
|
-
}
|
|
98
|
-
feedEntityFromTripData(tripRecord, entityTimestamp, tripDescriptor, vehicleDescriptor) {
|
|
99
|
-
const feedEntity = {
|
|
100
|
-
id: tripRecord.id,
|
|
101
|
-
vehicle: {
|
|
102
|
-
currentStopSequence: tripRecord.last_position.last_stop_sequence,
|
|
103
|
-
position: {
|
|
104
|
-
bearing: tripRecord.last_position.bearing,
|
|
105
|
-
latitude: tripRecord.last_position.lat,
|
|
106
|
-
longitude: tripRecord.last_position.lng,
|
|
107
|
-
speed: this.speedMpsToKmh(tripRecord.last_position.speed),
|
|
108
|
-
},
|
|
109
|
-
timestamp: entityTimestamp,
|
|
110
|
-
trip: tripDescriptor,
|
|
111
|
-
vehicle: vehicleDescriptor,
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
return feedEntity;
|
|
115
|
-
}
|
|
116
|
-
async generateFiles() {
|
|
117
|
-
const currentDate = new Date();
|
|
118
|
-
const tripData = await this.tripsRepository.findAllForGTFSRt(currentDate);
|
|
119
|
-
const feedHeader = this.createFeedHeader();
|
|
120
|
-
const updatesMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
121
|
-
const positionsMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
122
|
-
const pidFeedMessage = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.create({ header: feedHeader });
|
|
123
|
-
const stopTimesIds = this.readStopTimeIds(tripData);
|
|
124
62
|
if (stopTimesIds.length === 0) {
|
|
125
63
|
this.logger.warn("No stop time ids found for GTFS-RT generation. Most likely no vehicles are running.");
|
|
126
64
|
return;
|
|
@@ -158,7 +96,22 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
158
96
|
const shouldSkipTripUpdate = stopTimeUpdates.every((el) => el.scheduleRelationship === ovapi_gtfs_realtime_bindings_1.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship.NO_DATA ||
|
|
159
97
|
gtfsTripIdMap[tripRecord.gtfs_trip_id]);
|
|
160
98
|
entityTripStarts.push(tripRecord.start_timestamp);
|
|
161
|
-
const positionEntity =
|
|
99
|
+
const positionEntity = {
|
|
100
|
+
id: tripRecord.id,
|
|
101
|
+
vehicle: {
|
|
102
|
+
currentStopSequence: tripRecord.last_position.last_stop_sequence,
|
|
103
|
+
position: {
|
|
104
|
+
bearing: tripRecord.last_position.bearing,
|
|
105
|
+
latitude: tripRecord.last_position.lat,
|
|
106
|
+
longitude: tripRecord.last_position.lng,
|
|
107
|
+
speed: tripRecord.last_position.speed &&
|
|
108
|
+
parseFloat((tripRecord.last_position.speed / const_2.MPS_TO_KMH).toFixed(2)),
|
|
109
|
+
},
|
|
110
|
+
timestamp: entityTimestamp,
|
|
111
|
+
trip: tripDescriptor,
|
|
112
|
+
vehicle: vehicleDescriptor,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
162
115
|
const positionsMessageEntity = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedEntity.fromObject(positionEntity);
|
|
163
116
|
positionsMessage.entity.push(positionsMessageEntity);
|
|
164
117
|
feedMessageEntity = structuredClone(positionsMessageEntity);
|
|
@@ -189,16 +142,10 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
189
142
|
}
|
|
190
143
|
this.removeDuplicateVehicleDescriptors(positionsMessage, entityTripStarts);
|
|
191
144
|
this.removeDuplicateVehicleDescriptors(pidFeedMessage, entityTripStarts, { shouldRemoveVehicleOnly: true });
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
this.alertsGenerator.generateAlerts(feedHeader),
|
|
197
|
-
]);
|
|
198
|
-
const rejectedPromise = results.find((result) => result.status === "rejected");
|
|
199
|
-
if (rejectedPromise) {
|
|
200
|
-
throw rejectedPromise.reason;
|
|
201
|
-
}
|
|
145
|
+
this.validateAndSaveBuffer("trip_updates", updatesMessage);
|
|
146
|
+
this.validateAndSaveBuffer("vehicle_positions", positionsMessage);
|
|
147
|
+
this.validateAndSaveBuffer("pid_feed", pidFeedMessage);
|
|
148
|
+
await this.alertsGenerator.generateAlerts(feedHeader);
|
|
202
149
|
}
|
|
203
150
|
/**
|
|
204
151
|
* Get rid of vehicle descriptors with duplicate IDs from a given GTFS-RT message
|
|
@@ -302,7 +249,7 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
302
249
|
const header = {
|
|
303
250
|
gtfsRealtimeVersion: "2.0",
|
|
304
251
|
incrementality: ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedHeader.Incrementality.FULL_DATASET,
|
|
305
|
-
timestamp: Math.round(Date.
|
|
252
|
+
timestamp: Math.round(new Date().getTime() / 1000),
|
|
306
253
|
};
|
|
307
254
|
return ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedHeader.fromObject(header);
|
|
308
255
|
}
|
|
@@ -317,15 +264,15 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
317
264
|
("0" + startTimestamp.getUTCDate()).slice(-2);
|
|
318
265
|
return formattedDate;
|
|
319
266
|
}
|
|
320
|
-
|
|
267
|
+
validateAndSaveBuffer(feedName, message) {
|
|
321
268
|
const feedMessageVerificationResult = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.verify(message);
|
|
322
269
|
if (feedMessageVerificationResult !== null) {
|
|
323
270
|
this.logger.error(new golemio_errors_1.GeneralError(`Invalid GTFS-RT message for feed '${feedName}'`, this.constructor.name, feedMessageVerificationResult, undefined, "pid"));
|
|
324
271
|
return;
|
|
325
272
|
}
|
|
326
273
|
const buffer = ovapi_gtfs_realtime_bindings_1.transit_realtime.FeedMessage.encode(message).finish();
|
|
327
|
-
|
|
328
|
-
|
|
274
|
+
this.gtfsRtRedisRepository.set(feedName + "_timestamp", message.header.timestamp);
|
|
275
|
+
this.gtfsRtRedisRepository.hset(feedName + ".pb", buffer.toString("binary"));
|
|
329
276
|
}
|
|
330
277
|
shouldFallbackToScheduleTime(vehiclePosition) {
|
|
331
278
|
return ((vehiclePosition.state_position === const_1.StatePositionEnum.BEFORE_TRACK ||
|
|
@@ -351,17 +298,6 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
|
|
|
351
298
|
updatesMessage.entity.push(feedEntity);
|
|
352
299
|
return feedEntity;
|
|
353
300
|
}
|
|
354
|
-
createMutex() {
|
|
355
|
-
const redisClient = connectors_1.RedisConnector.getConnection();
|
|
356
|
-
return new redis_semaphore_1.Mutex(redisClient, this.queueName, {
|
|
357
|
-
acquireAttemptsLimit: 1,
|
|
358
|
-
lockTimeout: this.lockTimeout,
|
|
359
|
-
refreshInterval: this.refreshInterval,
|
|
360
|
-
onLockLost: (err) => {
|
|
361
|
-
this.logger.info(`${this.constructor.name}: mutex lock was lost, will be generated in next task run.`);
|
|
362
|
-
},
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
301
|
}
|
|
366
302
|
exports.GenerateFilesTask = GenerateFilesTask;
|
|
367
303
|
GenerateFilesTask.config = Di_2.VPContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateFilesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0EAA4D;AAC5D,+CAA8C;AAC9C,6EAAkE;AAElE,uDAAkF;AAClF,wCAA2D;AAC3D,oEAA8E;AAC9E,yFAA8G;AAI9G,wEAAqE;AAErE,mEAA2E;AAC3E,2EAAkF;AAClF,+GAA4G;AAC5G,oIAAiI;AACjI,6EAA8F;AAC9F,iFAAkF;AAClF,+EAAkE;AAClE,mDAA2D;AAC3D,wFAAyF;AACzF,gDAA8C;AAE9C,gFAA6E;AAC7E,gEAA6D;AAC7D,oEAAiE;AACjE,4CAA2E;AAQ3E,8EAAqE;AAIrE,MAAa,iBAAkB,SAAQ,2BAAiB;IAgBpD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAdP,cAAS,GAAG,eAAe,CAAC;QAC5B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAc/C,IAAI,CAAC,MAAM,GAAG,gBAAW,CAAC,OAAO,CAAU,oBAAc,CAAC,MAAM,CAAC,CAAC;QAElE,2CAA2C;QAC3C,MAAM,mBAAmB,GAAG,iBAAY,CAAC,OAAO,CAAsB,qCAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC7G,IAAI,CAAC,kBAAkB,GAAG,gBAAW,CAAC,OAAO,CACzC,mCAAgB,CAAC,6BAA6B,CACjD,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QAEzD,MAAM,oBAAoB,GAAG,IAAI,iCAAoB,EAAE,CAAC;QACxD,MAAM,oBAAoB,GAAG,IAAI,uCAA0B,EAAE,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CACtC,iBAAiB,CAAC,MAAM,EACxB,IAAI,CAAC,qBAAqB,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CACvB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QAEjD,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAChD,4DAA4D,EAC5D,KAAM,CACC,CAAC;QAEZ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,mCAA2B,CAAC;IAC1E,CAAC;IASe,AAAN,KAAK,CAAC,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QAE9C,IAAI,CAAC,YAAY,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,gEAAgE,CAAC,CAAC;YAC3G,OAAO;SACV;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI;YACA,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;iBAAM;gBACH,MAAM,IAAI,6BAAY,CAAC,4DAA4D,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpH;SACJ;gBAAS;YACN,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;SACzB;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QAClD,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,gBAAgB,QAAQ,oBAAoB,GAAG,CAAC,CAAC;QAC3G,IAAI,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE;YACzC,MAAM,IAAA,qBAAK,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC;SAClE;QAED,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEO,eAAe,CAAC,QAA0B;QAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;gBACxB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;aACzD;SACJ;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,aAAa,CAAC,KAAoB;QACtC,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,kBAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAEO,sBAAsB,CAC1B,UAA0B,EAC1B,eAAuB,EACvB,cAA+B,EAC/B,iBAAqC;QAErC,MAAM,UAAU,GAAgB;YAC5B,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,OAAO,EAAE;gBACL,mBAAmB,EAAE,UAAU,CAAC,aAAa,CAAC,kBAAkB;gBAChE,QAAQ,EAAE;oBACN,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;oBACzC,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG;oBACtC,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG;oBACvC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;iBAC5D;gBACD,SAAS,EAAE,eAAe;gBAC1B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,iBAAiB;aAC7B;SACJ,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,aAAa;QACzB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,+CAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,+CAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,+CAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAE/E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YACxG,OAAO;SACV;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACrF,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE;YAC/B,IAAI,oBAAoB,GAA4B,SAAS,CAAC;YAC9D,IAAI,iBAAiB,GAAwC,SAAS,CAAC;YACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAClF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzG,IAAI,UAAU,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBACjF,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;gBAC5F,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;gBAC9C,yFAAyF;aAC5F;iBAAM;gBACH,MAAM,cAAc,GAAoB;oBACpC,oBAAoB,EAAE,+CAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS;oBAChF,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC;oBAC/D,SAAS,EAAE,UAAU,CAAC,UAAU;oBAChC,MAAM,EAAE,UAAU,CAAC,YAAY;oBAC/B,OAAO,EAAE,UAAU,CAAC,aAAa;iBACpC,CAAC;gBAEF,IAAI,eAAe,GAAsB,EAAE,CAAC;gBAC5C,IAAI,OAAO,iBAAiB,CAAC,EAAE,KAAK,QAAQ,EAAE;oBAC1C,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,EAAE,IAAI,UAAU,CAAC,YAAY,EAAE,CAAE,CAAC;oBACjG,eAAe,GAAG,IAAI,CAAC,sBAAsB,CACzC,UAAU,CAAC,eAAe,EAC1B,mBAAmB,EACnB,UAAU,CAAC,aAAa,CAC3B,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ;gCACI,UAAU,CAAC,YAAY,GAAG,EAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;iBACL;gBAED,MAAM,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAC9C,CAAC,EAAE,EAAE,EAAE,CACH,EAAE,CAAC,oBAAoB,KAAK,+CAAY,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO;oBAC/F,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAC7C,CAAC;gBAEF,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAClD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAC9C,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,CACpB,CAAC;gBACF,MAAM,sBAAsB,GAAG,+CAAY,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAClF,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACrD,iBAAiB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;gBAE5D,IAAI,CAAC,oBAAoB,EAAE;oBACvB,MAAM,UAAU,GAAG;wBACf,cAAc,EAAE,eAAe;wBAC/B,SAAS,EAAE,eAAe;wBAC1B,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,iBAAiB;qBAC7B,CAAC;oBAEF,MAAM,YAAY,GAAgB;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;wBACjB,UAAU;qBACb,CAAC;oBAEF,MAAM,oBAAoB,GAAG,+CAAY,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACjD,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;oBAC9C,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;iBAC7C;aACJ;YAED,IAAI,iBAAiB,EAAE;gBACnB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACjD;iBAAM,IAAI,oBAAoB,EAAE;gBAC7B,4EAA4E;gBAC5E,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACpD;SACJ;QAED,IAAI,CAAC,iCAAiC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC3E,IAAI,CAAC,iCAAiC,CAAC,cAAc,EAAE,gBAAgB,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,cAAc,CAAC;YAC1D,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;YACjE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,cAAc,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAChH,IAAI,eAAe,EAAE;YACjB,MAAM,eAAe,CAAC,MAAM,CAAC;SAChC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,iCAAiC,CACrC,OAAkC,EAClC,gBAA0B,EAC1B,UAAiD;QAC7C,uBAAuB,EAAE,KAAK;KACjC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO;SACV;QACD,MAAM,wBAAwB,GAA+B,EAAE,CAAC;QAChE,MAAM,oCAAoC,GAA+B,EAAE,CAAC;QAC5E,MAAM,8BAA8B,GAAmC,IAAI,GAAG,EAAE,CAAC;QACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,SAAS,KAAK,IAAI,EAAE;gBACpB,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzC;iBAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACvD,8BAA8B,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;aAC9E;iBAAM;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,oCAAoC,CAC1D,8BAA8B,EAC9B,SAAS,EACT,MAAM,EACN,eAAe,CAClB,CAAC;gBACF,IAAI,OAAO,CAAC,uBAAuB,EAAE;oBACjC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,oBAAoB,EAAE,GAAG,YAAY,CAAC;oBACjE,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE;wBAC/D,oCAAoC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;qBACnE;iBACJ;aACJ;SACJ;QACD,OAAO,CAAC,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QACvF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,8BAA8B,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;OASG;IACK,oCAAoC,CACxC,8BAA8D,EAC9D,SAAiB,EACjB,MAAgC,EAChC,eAAqB;QAErB,MAAM,OAAO,GAAG,8BAA8B,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAC/D,MAAM,8BAA8B,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAI,IAAI,CAAC;QAC1F,IACI,8BAA8B,KAAK,+CAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ;YAC5F,eAAe,GAAG,OAAO,CAAC,eAAe,EAC3C;YACE,8BAA8B,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YAC3E,OAAO,OAAO,CAAC,MAAM,CAAC;SACzB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,sBAAsB,CAC1B,SAA4B,EAC5B,SAAoC,EACpC,eAAgD;QAEhD,MAAM,eAAe,GAAsB,EAAE,CAAC;QAE9C,4FAA4F;QAC5F,0GAA0G;QAC1G,oHAAoH;QACpH,MAAM,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;QAExF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC9C,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;YAEzC,IAAI,SAAS,KAAK,kCAAiB,CAAC,KAAK,EAAE;gBACvC,WAAW,GAAG,QAAQ,CAAC,sBAAsB,CAAC;aACjD;YAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;YACjG,MAAM,cAAc,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;YAEnG,eAAe,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE;oBACL,KAAK,EAAE,YAAY;iBACtB;gBACD,SAAS,EAAE;oBACP,KAAK,EAAE,cAAc;iBACxB;gBACD,GAAG,CAAC,YAAY,KAAK,IAAI;oBACrB,cAAc,KAAK,IAAI,IAAI;oBACvB,oBAAoB,EAAE,+CAAY,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO;iBAC5F,CAAC;gBACN,YAAY,EAAE,QAAQ,CAAC,QAAQ;gBAC/B,MAAM,EAAE,QAAQ,CAAC,OAAO;gBACxB,uCAAuC,EAAE;oBACrC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;oBACzC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;iBACtC;aACJ,CAAC,CAAC;SACN;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,gBAAgB;QACpB,MAAM,MAAM,GAAgB;YACxB,mBAAmB,EAAE,KAAK;YAC1B,cAAc,EAAE,+CAAY,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY;YACnE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SAC3C,CAAC;QAEF,OAAO,+CAAY,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,SAAiB;QACzC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,aAAa,GACf,cAAc,CAAC,cAAc,EAAE;YAC/B,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,GAAG,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,OAAiC;QACnF,MAAM,6BAA6B,GAAG,+CAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/E,IAAI,6BAA6B,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,QAAQ,GAAG,EAChD,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,6BAA6B,EAC7B,SAAS,EACT,KAAK,CACR,CACJ,CAAC;YACF,OAAO;SACV;QAED,MAAM,MAAM,GAAG,+CAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAY,CAAC;QAE3E,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,CAAC;IAEO,4BAA4B,CAAC,eAAgD;QACjF,OAAO,CACH,CAAC,eAAe,CAAC,cAAc,KAAK,yBAAiB,CAAC,YAAY;YAC9D,eAAe,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,CAAC;YAC9E,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,IAAI,CAAC,CAClE,CAAC;IACN,CAAC;IAEO,kBAAkB,CACtB,UAA0B,EAC1B,SAAiB,EACjB,cAAwC;QAExC,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,UAAU,EAAE;gBACR,cAAc,EAAE,IAAI;gBACpB,SAAS;gBACT,IAAI,EAAE;oBACF,oBAAoB,EAAE,+CAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ;oBAC/E,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC;oBAC/D,SAAS,EAAE,UAAU,CAAC,UAAU;oBAChC,MAAM,EAAE,UAAU,CAAC,YAAY;oBAC/B,OAAO,EAAE,UAAU,CAAC,aAAa;iBACpC;gBACD,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC;QAEF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,WAAW;QACf,MAAM,WAAW,GAAG,2BAAc,CAAC,aAAa,EAAE,CAAC;QACnD,OAAO,IAAI,uBAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;YAC1C,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,4DAA4D,CAAC,CAAC;YAC3G,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;;AAzcL,8CA0cC;AAzc2B,wBAAM,GAAkB,gBAAW,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,AAA5E,CAA6E;AAsD3F;IAPf,qCAAiB,CAAC,KAAK,CACpB,IAAI,yDAA2B,CAC3B,MAAM,CAAC,MAAM,CACT,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAyB,yCAAyC,EAAE,EAAE,CAAC,CAC3G,CACJ,CACJ;;;;gDA+BA"}
|
|
1
|
+
{"version":3,"file":"GenerateFilesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropagateTrainDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.ts"],"names":[],"mappings":";;;AACA,sDAA2D;AAC3D,gGAAqF;AAErF,wEAAqE;AAErE,mEAAuF;AACvF,mEAAyD;AAGzD,mFAAqF;AACrF,sFAAmF;AAEnF,MAAa,uBAAwB,SAAQ,uDAAqD;IAU9F,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,0DAA8B,CAAC;QAiEhD,sBAAiB,GAAG,KAAK,EAC7B,aAAiC,EACjC,eAAuB,EACI,EAAE;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC5C,UAAU,EAAE,CAAC,cAAc,CAAC;gBAC5B,KAAK,EAAE;oBACH,aAAa,EAAE,aAAa;oBAC5B,eAAe,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE;iBAChD;gBACD,KAAK,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBACnC,GAAG,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,OAAO,IAAI,EAAE,YAAY,CAAC;QAC9B,CAAC,CAAC;QAvEE,IAAI,CAAC,MAAM,GAAG,gCAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,GAAG,uBAAkB,CAAC,OAAO,CAClD,iDAAuB,CAAC,yBAAyB,CACpD,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,gCAA0B,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnD,sEAAsE,EACtE,CAAC,CACM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,KAAgC;QACpD,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE;YACvC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,2BAA2B,EAAE,eAAe,EAAE,aAAa,EAAE,GAC9F,gBAAgB,CAAC,IAAI,CAAC;YAC1B,IAAI;gBACA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBAEpF,IAAI,CAAC,cAAc,EAAE;oBACjB,SAAS;iBACZ;gBACD,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAc,CAAC,CAAsB,CAAC;gBAEhG,MAAM,mBAAmB,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBACpF,MAAM,iBAAiB,GAAG,YAAY,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBACjF,MAAM,yBAAyB,GAC3B,mBAAmB,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBAErF,MAAM,IAAI,CAAC,yBAAyB,CAAC;oBACjC,iBAAiB,EAAE,YAAY;oBAC/B,kBAAkB,EAAE,aAAa,IAAI,IAAI;oBACzC,sBAAsB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,eAAe;oBACjE,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,cAAc;oBACtD,yBAAyB,EAAE,2BAA2B;oBACtD,gBAAgB,EAAE,eAAe;oBACjC,cAAc,EAAE,aAAc;oBAC9B,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"PropagateTrainDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,6 @@ export interface IPIDDeparture {
|
|
|
41
41
|
"trip.last_position.this_stop_sequence": number | null;
|
|
42
42
|
"trip.cis_stop_platform_code": string | null;
|
|
43
43
|
"trip.vehicle_descriptor.is_air_conditioned"?: boolean | null;
|
|
44
|
-
planned_start_timestamp: string | null;
|
|
45
44
|
}
|
|
46
45
|
export interface ITransferDeparture {
|
|
47
46
|
departure_datetime_real: Date | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,4CAA0B;AAC1B,2CAAyB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,4CAA0B;AAC1B,2CAAyB;AAgHzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,yCAAuB,CAAA;AAC3B,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,2CAAwB,CAAA;IACxB,0DAAuC,CAAA;IACvC,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,8EAA2D,CAAA;AAC/D,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,mCAAkB,CAAA;IAClB,8BAA8B;AAClC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
|
|
@@ -32,17 +32,13 @@ class SkipHelper {
|
|
|
32
32
|
static isVehicleMissing(departure, runScheduleMap, untrackedTrips, nowDate = new Date()) {
|
|
33
33
|
// Not missing if essential trip data is missing or if delay information is available
|
|
34
34
|
if (!("trip.start_timestamp" in departure) ||
|
|
35
|
+
departure["trip.start_timestamp"] === null ||
|
|
35
36
|
departure.run_number === null ||
|
|
36
37
|
departure.route_id === null ||
|
|
37
38
|
departure.is_delay_available) {
|
|
38
39
|
return false;
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
const rawStartTimestamp = departure["trip.start_timestamp"] ?? departure.planned_start_timestamp;
|
|
42
|
-
if (!rawStartTimestamp) {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
const startTimestamp = new Date(rawStartTimestamp);
|
|
41
|
+
const startTimestamp = new Date(departure["trip.start_timestamp"]);
|
|
46
42
|
const minutesToStart = (startTimestamp.getTime() - nowDate.getTime()) / 60000;
|
|
47
43
|
/// Not missing if departure is too far in the future (threshold varies for metro)
|
|
48
44
|
if (this.isOutsideStartThreshold(minutesToStart, departure.route_type)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkipHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/SkipHelper.ts"],"names":[],"mappings":";;;AAAA,uEAA4D;AAG5D,2CAAwC;AACxC,mCAKiB;AAEjB;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,MAAa,UAAU;IACnB;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,SAAyB,EAAE,UAAkB;QAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE;YAChB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,SAAyB;QAClD,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gBAAgB,CAC1B,SAAyB,EACzB,cAAkD,EAClD,cAAkC,EAClC,OAAO,GAAG,IAAI,IAAI,EAAE;QAEpB,qFAAqF;QACrF,IACI,CAAC,CAAC,sBAAsB,IAAI,SAAS,CAAC;YACtC,SAAS,CAAC,UAAU,KAAK,IAAI;YAC7B,SAAS,CAAC,QAAQ,KAAK,IAAI;YAC3B,SAAS,CAAC,kBAAkB,EAC9B;YACE,OAAO,KAAK,CAAC;SAChB;QAED,
|
|
1
|
+
{"version":3,"file":"SkipHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/SkipHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,9 +60,7 @@ flowchart TD;
|
|
|
60
60
|
- Feedy jsou nabízený přes API `/v2/vehiclepositions/gtfsrt/{feed}`, kde `{feed}` je název feedu s příponou `.pb`
|
|
61
61
|
- Žádaný feed se načte pomocí `HGET` a vrátí se jako binární blob. Pokud feed neexistuje, vrátí se 404
|
|
62
62
|
- Pomocný timestamp se načte pomocí `GET` a vrátí se jako hodnota hlavičky `Last-Modified` převedená na ISO string. Pokud timestamp neexistuje, hodnota hlavičky bude unix timestamp 0 jako ISO string. Využívá se především pro monitoring a alerting
|
|
63
|
-
- Feedy se generují
|
|
64
|
-
- Používají redis-mutex na zamykání, aby neběželo více shodných tasků v jeden okamžik
|
|
65
|
-
- Pokud generování stíhá běžet rychleji, task se snaží do ±7 vteřin svého běhu spustit nové generování souborů (opět přes queue-message).
|
|
63
|
+
- Feedy se generují 3x za minutu (rabín 2x)
|
|
66
64
|
|
|
67
65
|
### Flowchart
|
|
68
66
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "3.14.1-
|
|
3
|
+
"version": "3.14.1-rc.1818801273",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@commitlint/cli": "^11.0.0",
|
|
38
38
|
"@commitlint/config-conventional": "^11.0.0",
|
|
39
39
|
"@golemio/cli": "1.9.2",
|
|
40
|
-
"@golemio/core": "1.20.
|
|
40
|
+
"@golemio/core": "1.20.6",
|
|
41
41
|
"@golemio/db-common": "1.1.4",
|
|
42
42
|
"@golemio/eslint-config": "1.1.2",
|
|
43
43
|
"@types/amqplib": "^0.5.17",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@golemio/core": ">=1.16.0-rc.1551191551"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.
|
|
79
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.3",
|
|
80
80
|
"@turf/turf": "^6.5.0",
|
|
81
81
|
"cheap-ruler": "^3.0.2",
|
|
82
82
|
"csv-parser": "^3.0.0",
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var dbm;
|
|
4
|
-
var type;
|
|
5
|
-
var seed;
|
|
6
|
-
var fs = require('fs');
|
|
7
|
-
var path = require('path');
|
|
8
|
-
var Promise;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
-
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
-
*/
|
|
14
|
-
exports.setup = function(options, seedLink) {
|
|
15
|
-
dbm = options.dbmigrate;
|
|
16
|
-
type = dbm.dataType;
|
|
17
|
-
seed = seedLink;
|
|
18
|
-
Promise = options.Promise;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
exports.up = function(db) {
|
|
22
|
-
var filePath = path.join(__dirname, 'sqls', '20250509095900-get-departures-planned-start-up.sql');
|
|
23
|
-
return new Promise( function( resolve, reject ) {
|
|
24
|
-
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
-
if (err) return reject(err);
|
|
26
|
-
console.log('received data: ' + data);
|
|
27
|
-
|
|
28
|
-
resolve(data);
|
|
29
|
-
});
|
|
30
|
-
})
|
|
31
|
-
.then(function(data) {
|
|
32
|
-
return db.runSql(data);
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.down = function(db) {
|
|
37
|
-
var filePath = path.join(__dirname, 'sqls', '20250509095900-get-departures-planned-start-down.sql');
|
|
38
|
-
return new Promise( function( resolve, reject ) {
|
|
39
|
-
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
-
if (err) return reject(err);
|
|
41
|
-
console.log('received data: ' + data);
|
|
42
|
-
|
|
43
|
-
resolve(data);
|
|
44
|
-
});
|
|
45
|
-
})
|
|
46
|
-
.then(function(data) {
|
|
47
|
-
return db.runSql(data);
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
exports._meta = {
|
|
52
|
-
"version": 1
|
|
53
|
-
};
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
drop function get_departures;
|
|
2
|
-
create function get_departures (
|
|
3
|
-
stopsIds varchar,
|
|
4
|
-
mode int,
|
|
5
|
-
dateDepartureBetweenStart timestamptz,
|
|
6
|
-
dateDepartureBetweenEnd timestamptz,
|
|
7
|
-
isNegativeMinutesBefore int,
|
|
8
|
-
dateCanceledDepartureBetweenStart timestamptz,
|
|
9
|
-
dateCanceledDepartureBetweenEnd timestamptz,
|
|
10
|
-
airconditioninfoenabled int
|
|
11
|
-
)
|
|
12
|
-
returns table (
|
|
13
|
-
departure_datetime_real timestamptz,
|
|
14
|
-
arrival_datetime_real timestamptz,
|
|
15
|
-
stop_sequence int2,
|
|
16
|
-
stop_headsign varchar(70),
|
|
17
|
-
arrival_datetime timestamptz,
|
|
18
|
-
departure_datetime timestamptz,
|
|
19
|
-
stop_id varchar(25),
|
|
20
|
-
platform_code varchar(10),
|
|
21
|
-
wheelchair_boarding int2,
|
|
22
|
-
min_stop_sequence int2,
|
|
23
|
-
max_stop_sequence int2,
|
|
24
|
-
trip_id varchar(50),
|
|
25
|
-
trip_headsign varchar(100),
|
|
26
|
-
trip_short_name varchar(30),
|
|
27
|
-
wheelchair_accessible int2,
|
|
28
|
-
route_short_name varchar(50),
|
|
29
|
-
route_type int2,
|
|
30
|
-
route_id varchar(20),
|
|
31
|
-
is_night bpchar(1),
|
|
32
|
-
is_regional bpchar(1),
|
|
33
|
-
is_substitute_transport bpchar(1),
|
|
34
|
-
next_stop_id varchar(30),
|
|
35
|
-
delay_seconds int4,
|
|
36
|
-
real_wheelchair_accessible bool,
|
|
37
|
-
is_canceled bool,
|
|
38
|
-
"trip.gtfs_trip_short_name" varchar(255),
|
|
39
|
-
"trip.gtfs_date" date,
|
|
40
|
-
"trip.internal_route_name" varchar(50),
|
|
41
|
-
"trip.internal_run_number" int4,
|
|
42
|
-
"trip.start_timestamp" timestamptz,
|
|
43
|
-
"trip.last_position.last_stop_id" varchar(255),
|
|
44
|
-
"trip.last_position.last_stop_sequence" int4,
|
|
45
|
-
"trip.last_position.last_stop_name" varchar(255),
|
|
46
|
-
"trip.last_position.this_stop_sequence" int4,
|
|
47
|
-
"trip.cis_stop_platform_code" varchar(15),
|
|
48
|
-
"trip.vehicle_descriptor.is_air_conditioned" bool,
|
|
49
|
-
delay_minutes int4,
|
|
50
|
-
is_delay_available bool,
|
|
51
|
-
run_number int4
|
|
52
|
-
|
|
53
|
-
)
|
|
54
|
-
language SQL
|
|
55
|
-
set search_path from current
|
|
56
|
-
as $$
|
|
57
|
-
select
|
|
58
|
-
departure_boards_detailed."computed.departure_datetime_real",
|
|
59
|
-
departure_boards_detailed."computed.arrival_datetime_real",
|
|
60
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence",
|
|
61
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_headsign",
|
|
62
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.arrival_datetime",
|
|
63
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.departure_datetime",
|
|
64
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_id",
|
|
65
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.platform_code",
|
|
66
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.wheelchair_boarding",
|
|
67
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.min_stop_sequence",
|
|
68
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.max_stop_sequence",
|
|
69
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_id",
|
|
70
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_headsign",
|
|
71
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_short_name",
|
|
72
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.wheelchair_accessible",
|
|
73
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_short_name",
|
|
74
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_type",
|
|
75
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_id",
|
|
76
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_night",
|
|
77
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_regional",
|
|
78
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_substitute_transport",
|
|
79
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.next_stop_id",
|
|
80
|
-
departure_boards_detailed."delay_seconds",
|
|
81
|
-
departure_boards_detailed."real_wheelchair_accessible",
|
|
82
|
-
departure_boards_detailed."is_canceled",
|
|
83
|
-
departure_boards_detailed."trip.gtfs_trip_short_name",
|
|
84
|
-
departure_boards_detailed."trip.gtfs_date",
|
|
85
|
-
departure_boards_detailed."trip.internal_route_name",
|
|
86
|
-
departure_boards_detailed."trip.internal_run_number",
|
|
87
|
-
departure_boards_detailed."trip.start_timestamp",
|
|
88
|
-
departure_boards_detailed."trip.last_position.last_stop_id",
|
|
89
|
-
departure_boards_detailed."trip.last_position.last_stop_sequence",
|
|
90
|
-
departure_boards_detailed."trip.last_position.last_stop_name",
|
|
91
|
-
departure_boards_detailed."trip.last_position.this_stop_sequence",
|
|
92
|
-
departure_boards_detailed.cis_stop_platform_code as "trip.cis_stop_platform_code",
|
|
93
|
-
case when airconditioninfoenabled = 1 then departure_boards_detailed."trip.vehicle_descriptor.is_air_conditioned" else NULL end,
|
|
94
|
-
TRUNC(departure_boards_detailed."trip.last_position.delay"::DECIMAL / 60, 0)::int as "delay_minutes",
|
|
95
|
-
case when departure_boards_detailed."trip.last_position.delay" is null then false else true end as "is_delay_available",
|
|
96
|
-
departure_boards_detailed."run.run_number"
|
|
97
|
-
|
|
98
|
-
from (
|
|
99
|
-
select
|
|
100
|
-
("departure_datetime"
|
|
101
|
-
+ MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end))
|
|
102
|
-
- case when (MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end)) > MAKE_INTERVAL())
|
|
103
|
-
then least (
|
|
104
|
-
MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end)),
|
|
105
|
-
("departure_datetime" - "arrival_datetime")::interval
|
|
106
|
-
)
|
|
107
|
-
else MAKE_INTERVAL()
|
|
108
|
-
end
|
|
109
|
-
) "computed.departure_datetime_real",
|
|
110
|
-
"arrival_datetime" + MAKE_INTERVAL(secs => (
|
|
111
|
-
CASE WHEN "trip.last_position.delay" IS NULL THEN 0 ELSE "trip.last_position.delay" end
|
|
112
|
-
)) "computed.arrival_datetime_real",
|
|
113
|
-
"ropidgtfs_precomputed_departures"."stop_sequence" as "ropidgtfs_precomputed_departures.stop_sequence",
|
|
114
|
-
"ropidgtfs_precomputed_departures"."stop_headsign" as "ropidgtfs_precomputed_departures.stop_headsign",
|
|
115
|
-
"ropidgtfs_precomputed_departures"."pickup_type" as "ropidgtfs_precomputed_departures.pickup_type",
|
|
116
|
-
"ropidgtfs_precomputed_departures"."drop_off_type" as "ropidgtfs_precomputed_departures.drop_off_type",
|
|
117
|
-
"ropidgtfs_precomputed_departures"."arrival_time" as "ropidgtfs_precomputed_departures.arrival_time",
|
|
118
|
-
"ropidgtfs_precomputed_departures"."arrival_datetime" as "ropidgtfs_precomputed_departures.arrival_datetime",
|
|
119
|
-
"ropidgtfs_precomputed_departures"."departure_time" as "ropidgtfs_precomputed_departures.departure_time",
|
|
120
|
-
"ropidgtfs_precomputed_departures"."departure_datetime" as "ropidgtfs_precomputed_departures.departure_datetime",
|
|
121
|
-
"ropidgtfs_precomputed_departures"."stop_id" as "ropidgtfs_precomputed_departures.stop_id",
|
|
122
|
-
"ropidgtfs_precomputed_departures"."stop_name" as "ropidgtfs_precomputed_departures.stop_name",
|
|
123
|
-
"ropidgtfs_precomputed_departures"."platform_code" as "ropidgtfs_precomputed_departures.platform_code",
|
|
124
|
-
"ropidgtfs_precomputed_departures"."wheelchair_boarding" as "ropidgtfs_precomputed_departures.wheelchair_boarding",
|
|
125
|
-
"ropidgtfs_precomputed_departures"."min_stop_sequence" as "ropidgtfs_precomputed_departures.min_stop_sequence",
|
|
126
|
-
"ropidgtfs_precomputed_departures"."max_stop_sequence" as "ropidgtfs_precomputed_departures.max_stop_sequence",
|
|
127
|
-
"ropidgtfs_precomputed_departures"."trip_id" as "ropidgtfs_precomputed_departures.trip_id",
|
|
128
|
-
"ropidgtfs_precomputed_departures"."trip_headsign" as "ropidgtfs_precomputed_departures.trip_headsign",
|
|
129
|
-
"ropidgtfs_precomputed_departures"."trip_short_name" as "ropidgtfs_precomputed_departures.trip_short_name",
|
|
130
|
-
"ropidgtfs_precomputed_departures"."wheelchair_accessible" as "ropidgtfs_precomputed_departures.wheelchair_accessible",
|
|
131
|
-
"ropidgtfs_precomputed_departures"."service_id" as "ropidgtfs_precomputed_departures.service_id",
|
|
132
|
-
"ropidgtfs_precomputed_departures"."date" as "ropidgtfs_precomputed_departures.date",
|
|
133
|
-
"ropidgtfs_precomputed_departures"."route_short_name" as "ropidgtfs_precomputed_departures.route_short_name",
|
|
134
|
-
"ropidgtfs_precomputed_departures"."route_type" as "ropidgtfs_precomputed_departures.route_type",
|
|
135
|
-
"ropidgtfs_precomputed_departures"."route_id" as "ropidgtfs_precomputed_departures.route_id",
|
|
136
|
-
"ropidgtfs_precomputed_departures"."is_night" as "ropidgtfs_precomputed_departures.is_night",
|
|
137
|
-
"ropidgtfs_precomputed_departures"."is_regional" as "ropidgtfs_precomputed_departures.is_regional",
|
|
138
|
-
"ropidgtfs_precomputed_departures"."is_substitute_transport" as "ropidgtfs_precomputed_departures.is_substitute_transport",
|
|
139
|
-
"ropidgtfs_precomputed_departures"."next_stop_sequence" as "ropidgtfs_precomputed_departures.next_stop_sequence",
|
|
140
|
-
"ropidgtfs_precomputed_departures"."next_stop_id" as "ropidgtfs_precomputed_departures.next_stop_id",
|
|
141
|
-
"ropidgtfs_precomputed_departures"."last_stop_sequence" as "ropidgtfs_precomputed_departures.last_stop_sequence",
|
|
142
|
-
"ropidgtfs_precomputed_departures"."last_stop_id" as "ropidgtfs_precomputed_departures.last_stop_id",
|
|
143
|
-
x.*,
|
|
144
|
-
cis_stop.cis_stop_platform_code as "cis_stop_platform_code",
|
|
145
|
-
run.run_number as "run.run_number"
|
|
146
|
-
from
|
|
147
|
-
"ropidgtfs_precomputed_departures" as "ropidgtfs_precomputed_departures"
|
|
148
|
-
left join "ropidgtfs_run_numbers" as run on
|
|
149
|
-
"ropidgtfs_precomputed_departures"."trip_id" = run.trip_id
|
|
150
|
-
and "ropidgtfs_precomputed_departures"."service_id" = run.service_id
|
|
151
|
-
left outer join v_vehiclepositions_trip_position_vehicle_info as x on
|
|
152
|
-
"ropidgtfs_precomputed_departures"."trip_id" = x."trip.gtfs_trip_id"
|
|
153
|
-
left join vehiclepositions_cis_stops as cis_stop on
|
|
154
|
-
cis_stop.rt_trip_id = x."trip.id"
|
|
155
|
-
and cis_stop.cis_stop_group_id = "ropidgtfs_precomputed_departures"."cis_stop_group_id"
|
|
156
|
-
) departure_boards_detailed
|
|
157
|
-
where
|
|
158
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_id" = ANY(STRING_TO_ARRAY(stopsIds,','))
|
|
159
|
-
and (
|
|
160
|
-
(
|
|
161
|
-
(
|
|
162
|
-
(mode = 1 and departure_boards_detailed."computed.arrival_datetime_real" between dateDepartureBetweenStart and dateDepartureBetweenEnd)
|
|
163
|
-
or (mode != 1 and departure_boards_detailed."computed.departure_datetime_real" between dateDepartureBetweenStart and dateDepartureBetweenEnd)
|
|
164
|
-
)
|
|
165
|
-
and
|
|
166
|
-
(
|
|
167
|
-
0 = isNegativeMinutesBefore
|
|
168
|
-
or ( -- pro záporné minutes before
|
|
169
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" >= departure_boards_detailed."trip.last_position.last_stop_sequence"
|
|
170
|
-
or departure_boards_detailed."trip.last_position.last_stop_sequence" IS null
|
|
171
|
-
)
|
|
172
|
-
)
|
|
173
|
-
|
|
174
|
-
)
|
|
175
|
-
or (
|
|
176
|
-
departure_boards_detailed."trip.is_canceled" = true
|
|
177
|
-
and
|
|
178
|
-
(
|
|
179
|
-
(mode = 1 and departure_boards_detailed."computed.arrival_datetime_real" between dateCanceledDepartureBetweenStart and dateCanceledDepartureBetweenEnd)
|
|
180
|
-
or (mode != 1 and departure_boards_detailed."computed.departure_datetime_real" between dateCanceledDepartureBetweenStart and dateCanceledDepartureBetweenEnd)
|
|
181
|
-
)
|
|
182
|
-
)
|
|
183
|
-
) and
|
|
184
|
-
(
|
|
185
|
-
(mode = 1 and (departure_boards_detailed."ropidgtfs_precomputed_departures.pickup_type" != '1' and departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" != departure_boards_detailed."ropidgtfs_precomputed_departures.max_stop_sequence")) -- mode default/departures
|
|
186
|
-
or (mode=2 and (departure_boards_detailed."ropidgtfs_precomputed_departures.drop_off_type" != '1' and departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" != departure_boards_detailed."ropidgtfs_precomputed_departures.min_stop_sequence")) -- mode arrivals
|
|
187
|
-
or (mode=3 and (departure_boards_detailed."ropidgtfs_precomputed_departures.pickup_type" != '1')) -- mode mixed
|
|
188
|
-
);
|
|
189
|
-
$$;
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
drop function get_departures;
|
|
2
|
-
create function get_departures (
|
|
3
|
-
stopsIds varchar,
|
|
4
|
-
mode int,
|
|
5
|
-
dateDepartureBetweenStart timestamptz,
|
|
6
|
-
dateDepartureBetweenEnd timestamptz,
|
|
7
|
-
isNegativeMinutesBefore int,
|
|
8
|
-
dateCanceledDepartureBetweenStart timestamptz,
|
|
9
|
-
dateCanceledDepartureBetweenEnd timestamptz,
|
|
10
|
-
airconditioninfoenabled int
|
|
11
|
-
)
|
|
12
|
-
returns table (
|
|
13
|
-
departure_datetime_real timestamptz,
|
|
14
|
-
arrival_datetime_real timestamptz,
|
|
15
|
-
stop_sequence int2,
|
|
16
|
-
stop_headsign varchar(70),
|
|
17
|
-
arrival_datetime timestamptz,
|
|
18
|
-
departure_datetime timestamptz,
|
|
19
|
-
stop_id varchar(25),
|
|
20
|
-
platform_code varchar(10),
|
|
21
|
-
wheelchair_boarding int2,
|
|
22
|
-
min_stop_sequence int2,
|
|
23
|
-
max_stop_sequence int2,
|
|
24
|
-
trip_id varchar(50),
|
|
25
|
-
trip_headsign varchar(100),
|
|
26
|
-
trip_short_name varchar(30),
|
|
27
|
-
wheelchair_accessible int2,
|
|
28
|
-
route_short_name varchar(50),
|
|
29
|
-
route_type int2,
|
|
30
|
-
route_id varchar(20),
|
|
31
|
-
is_night bpchar(1),
|
|
32
|
-
is_regional bpchar(1),
|
|
33
|
-
is_substitute_transport bpchar(1),
|
|
34
|
-
next_stop_id varchar(30),
|
|
35
|
-
delay_seconds int4,
|
|
36
|
-
real_wheelchair_accessible bool,
|
|
37
|
-
is_canceled bool,
|
|
38
|
-
"trip.gtfs_trip_short_name" varchar(255),
|
|
39
|
-
"trip.gtfs_date" date,
|
|
40
|
-
"trip.internal_route_name" varchar(50),
|
|
41
|
-
"trip.internal_run_number" int4,
|
|
42
|
-
"trip.start_timestamp" timestamptz,
|
|
43
|
-
"trip.last_position.last_stop_id" varchar(255),
|
|
44
|
-
"trip.last_position.last_stop_sequence" int4,
|
|
45
|
-
"trip.last_position.last_stop_name" varchar(255),
|
|
46
|
-
"trip.last_position.this_stop_sequence" int4,
|
|
47
|
-
"trip.cis_stop_platform_code" varchar(15),
|
|
48
|
-
"trip.vehicle_descriptor.is_air_conditioned" bool,
|
|
49
|
-
delay_minutes int4,
|
|
50
|
-
is_delay_available bool,
|
|
51
|
-
run_number int4,
|
|
52
|
-
planned_start_timestamp timestamptz
|
|
53
|
-
|
|
54
|
-
)
|
|
55
|
-
language SQL
|
|
56
|
-
set search_path from current
|
|
57
|
-
as $$
|
|
58
|
-
select
|
|
59
|
-
departure_boards_detailed."computed.departure_datetime_real",
|
|
60
|
-
departure_boards_detailed."computed.arrival_datetime_real",
|
|
61
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence",
|
|
62
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_headsign",
|
|
63
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.arrival_datetime",
|
|
64
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.departure_datetime",
|
|
65
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_id",
|
|
66
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.platform_code",
|
|
67
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.wheelchair_boarding",
|
|
68
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.min_stop_sequence",
|
|
69
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.max_stop_sequence",
|
|
70
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_id",
|
|
71
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_headsign",
|
|
72
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.trip_short_name",
|
|
73
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.wheelchair_accessible",
|
|
74
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_short_name",
|
|
75
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_type",
|
|
76
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.route_id",
|
|
77
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_night",
|
|
78
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_regional",
|
|
79
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.is_substitute_transport",
|
|
80
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.next_stop_id",
|
|
81
|
-
departure_boards_detailed."delay_seconds",
|
|
82
|
-
departure_boards_detailed."real_wheelchair_accessible",
|
|
83
|
-
departure_boards_detailed."is_canceled",
|
|
84
|
-
departure_boards_detailed."trip.gtfs_trip_short_name",
|
|
85
|
-
departure_boards_detailed."trip.gtfs_date",
|
|
86
|
-
departure_boards_detailed."trip.internal_route_name",
|
|
87
|
-
departure_boards_detailed."trip.internal_run_number",
|
|
88
|
-
departure_boards_detailed."trip.start_timestamp",
|
|
89
|
-
departure_boards_detailed."trip.last_position.last_stop_id",
|
|
90
|
-
departure_boards_detailed."trip.last_position.last_stop_sequence",
|
|
91
|
-
departure_boards_detailed."trip.last_position.last_stop_name",
|
|
92
|
-
departure_boards_detailed."trip.last_position.this_stop_sequence",
|
|
93
|
-
departure_boards_detailed.cis_stop_platform_code as "trip.cis_stop_platform_code",
|
|
94
|
-
case when airconditioninfoenabled = 1 then departure_boards_detailed."trip.vehicle_descriptor.is_air_conditioned" else NULL end,
|
|
95
|
-
TRUNC(departure_boards_detailed."trip.last_position.delay"::DECIMAL / 60, 0)::int as "delay_minutes",
|
|
96
|
-
case when departure_boards_detailed."trip.last_position.delay" is null then false else true end as "is_delay_available",
|
|
97
|
-
departure_boards_detailed."run.run_number",
|
|
98
|
-
departure_boards_detailed.planned_start_timestamp
|
|
99
|
-
|
|
100
|
-
from (
|
|
101
|
-
select
|
|
102
|
-
("departure_datetime"
|
|
103
|
-
+ MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end))
|
|
104
|
-
- case when (MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end)) > MAKE_INTERVAL())
|
|
105
|
-
then least (
|
|
106
|
-
MAKE_INTERVAL(secs => (case when "trip.last_position.delay" is null then 0 else "trip.last_position.delay" end)),
|
|
107
|
-
("departure_datetime" - "arrival_datetime")::interval
|
|
108
|
-
)
|
|
109
|
-
else MAKE_INTERVAL()
|
|
110
|
-
end
|
|
111
|
-
) "computed.departure_datetime_real",
|
|
112
|
-
"arrival_datetime" + MAKE_INTERVAL(secs => (
|
|
113
|
-
CASE WHEN "trip.last_position.delay" IS NULL THEN 0 ELSE "trip.last_position.delay" end
|
|
114
|
-
)) "computed.arrival_datetime_real",
|
|
115
|
-
"ropidgtfs_precomputed_departures"."stop_sequence" as "ropidgtfs_precomputed_departures.stop_sequence",
|
|
116
|
-
"ropidgtfs_precomputed_departures"."stop_headsign" as "ropidgtfs_precomputed_departures.stop_headsign",
|
|
117
|
-
"ropidgtfs_precomputed_departures"."pickup_type" as "ropidgtfs_precomputed_departures.pickup_type",
|
|
118
|
-
"ropidgtfs_precomputed_departures"."drop_off_type" as "ropidgtfs_precomputed_departures.drop_off_type",
|
|
119
|
-
"ropidgtfs_precomputed_departures"."arrival_time" as "ropidgtfs_precomputed_departures.arrival_time",
|
|
120
|
-
"ropidgtfs_precomputed_departures"."arrival_datetime" as "ropidgtfs_precomputed_departures.arrival_datetime",
|
|
121
|
-
"ropidgtfs_precomputed_departures"."departure_time" as "ropidgtfs_precomputed_departures.departure_time",
|
|
122
|
-
"ropidgtfs_precomputed_departures"."departure_datetime" as "ropidgtfs_precomputed_departures.departure_datetime",
|
|
123
|
-
"ropidgtfs_precomputed_departures"."stop_id" as "ropidgtfs_precomputed_departures.stop_id",
|
|
124
|
-
"ropidgtfs_precomputed_departures"."stop_name" as "ropidgtfs_precomputed_departures.stop_name",
|
|
125
|
-
"ropidgtfs_precomputed_departures"."platform_code" as "ropidgtfs_precomputed_departures.platform_code",
|
|
126
|
-
"ropidgtfs_precomputed_departures"."wheelchair_boarding" as "ropidgtfs_precomputed_departures.wheelchair_boarding",
|
|
127
|
-
"ropidgtfs_precomputed_departures"."min_stop_sequence" as "ropidgtfs_precomputed_departures.min_stop_sequence",
|
|
128
|
-
"ropidgtfs_precomputed_departures"."max_stop_sequence" as "ropidgtfs_precomputed_departures.max_stop_sequence",
|
|
129
|
-
"ropidgtfs_precomputed_departures"."trip_id" as "ropidgtfs_precomputed_departures.trip_id",
|
|
130
|
-
"ropidgtfs_precomputed_departures"."trip_headsign" as "ropidgtfs_precomputed_departures.trip_headsign",
|
|
131
|
-
"ropidgtfs_precomputed_departures"."trip_short_name" as "ropidgtfs_precomputed_departures.trip_short_name",
|
|
132
|
-
"ropidgtfs_precomputed_departures"."wheelchair_accessible" as "ropidgtfs_precomputed_departures.wheelchair_accessible",
|
|
133
|
-
"ropidgtfs_precomputed_departures"."service_id" as "ropidgtfs_precomputed_departures.service_id",
|
|
134
|
-
"ropidgtfs_precomputed_departures"."date" as "ropidgtfs_precomputed_departures.date",
|
|
135
|
-
"ropidgtfs_precomputed_departures"."route_short_name" as "ropidgtfs_precomputed_departures.route_short_name",
|
|
136
|
-
"ropidgtfs_precomputed_departures"."route_type" as "ropidgtfs_precomputed_departures.route_type",
|
|
137
|
-
"ropidgtfs_precomputed_departures"."route_id" as "ropidgtfs_precomputed_departures.route_id",
|
|
138
|
-
"ropidgtfs_precomputed_departures"."is_night" as "ropidgtfs_precomputed_departures.is_night",
|
|
139
|
-
"ropidgtfs_precomputed_departures"."is_regional" as "ropidgtfs_precomputed_departures.is_regional",
|
|
140
|
-
"ropidgtfs_precomputed_departures"."is_substitute_transport" as "ropidgtfs_precomputed_departures.is_substitute_transport",
|
|
141
|
-
"ropidgtfs_precomputed_departures"."next_stop_sequence" as "ropidgtfs_precomputed_departures.next_stop_sequence",
|
|
142
|
-
"ropidgtfs_precomputed_departures"."next_stop_id" as "ropidgtfs_precomputed_departures.next_stop_id",
|
|
143
|
-
"ropidgtfs_precomputed_departures"."last_stop_sequence" as "ropidgtfs_precomputed_departures.last_stop_sequence",
|
|
144
|
-
"ropidgtfs_precomputed_departures"."last_stop_id" as "ropidgtfs_precomputed_departures.last_stop_id",
|
|
145
|
-
plan_start.planned_departure AS planned_start_timestamp,
|
|
146
|
-
x.*,
|
|
147
|
-
cis_stop.cis_stop_platform_code as "cis_stop_platform_code",
|
|
148
|
-
run.run_number as "run.run_number"
|
|
149
|
-
from
|
|
150
|
-
"ropidgtfs_precomputed_departures" as "ropidgtfs_precomputed_departures"
|
|
151
|
-
left join "ropidgtfs_run_numbers" as run on
|
|
152
|
-
"ropidgtfs_precomputed_departures"."trip_id" = run.trip_id
|
|
153
|
-
and "ropidgtfs_precomputed_departures"."service_id" = run.service_id
|
|
154
|
-
left outer join v_vehiclepositions_trip_position_vehicle_info as x on
|
|
155
|
-
"ropidgtfs_precomputed_departures"."trip_id" = x."trip.gtfs_trip_id"
|
|
156
|
-
left join lateral (
|
|
157
|
-
select pd.departure_datetime as planned_departure
|
|
158
|
-
from ropidgtfs_precomputed_departures pd
|
|
159
|
-
where pd.trip_id = "ropidgtfs_precomputed_departures".trip_id
|
|
160
|
-
and pd.date = "ropidgtfs_precomputed_departures".date
|
|
161
|
-
and pd.stop_sequence = 1
|
|
162
|
-
limit 1
|
|
163
|
-
) as plan_start on true
|
|
164
|
-
left join vehiclepositions_cis_stops as cis_stop on
|
|
165
|
-
cis_stop.rt_trip_id = x."trip.id"
|
|
166
|
-
and cis_stop.cis_stop_group_id = "ropidgtfs_precomputed_departures"."cis_stop_group_id"
|
|
167
|
-
) departure_boards_detailed
|
|
168
|
-
where
|
|
169
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_id" = ANY(STRING_TO_ARRAY(stopsIds,','))
|
|
170
|
-
and (
|
|
171
|
-
(
|
|
172
|
-
(
|
|
173
|
-
(mode = 1 and departure_boards_detailed."computed.arrival_datetime_real" between dateDepartureBetweenStart and dateDepartureBetweenEnd)
|
|
174
|
-
or (mode != 1 and departure_boards_detailed."computed.departure_datetime_real" between dateDepartureBetweenStart and dateDepartureBetweenEnd)
|
|
175
|
-
)
|
|
176
|
-
and
|
|
177
|
-
(
|
|
178
|
-
0 = isNegativeMinutesBefore
|
|
179
|
-
or ( -- pro záporné minutes before
|
|
180
|
-
departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" >= departure_boards_detailed."trip.last_position.last_stop_sequence"
|
|
181
|
-
or departure_boards_detailed."trip.last_position.last_stop_sequence" IS null
|
|
182
|
-
)
|
|
183
|
-
)
|
|
184
|
-
|
|
185
|
-
)
|
|
186
|
-
or (
|
|
187
|
-
departure_boards_detailed."trip.is_canceled" = true
|
|
188
|
-
and
|
|
189
|
-
(
|
|
190
|
-
(mode = 1 and departure_boards_detailed."computed.arrival_datetime_real" between dateCanceledDepartureBetweenStart and dateCanceledDepartureBetweenEnd)
|
|
191
|
-
or (mode != 1 and departure_boards_detailed."computed.departure_datetime_real" between dateCanceledDepartureBetweenStart and dateCanceledDepartureBetweenEnd)
|
|
192
|
-
)
|
|
193
|
-
)
|
|
194
|
-
) and
|
|
195
|
-
(
|
|
196
|
-
(mode = 1 and (departure_boards_detailed."ropidgtfs_precomputed_departures.pickup_type" != '1' and departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" != departure_boards_detailed."ropidgtfs_precomputed_departures.max_stop_sequence")) -- mode default/departures
|
|
197
|
-
or (mode=2 and (departure_boards_detailed."ropidgtfs_precomputed_departures.drop_off_type" != '1' and departure_boards_detailed."ropidgtfs_precomputed_departures.stop_sequence" != departure_boards_detailed."ropidgtfs_precomputed_departures.min_stop_sequence")) -- mode arrivals
|
|
198
|
-
or (mode=3 and (departure_boards_detailed."ropidgtfs_precomputed_departures.pickup_type" != '1')) -- mode mixed
|
|
199
|
-
);
|
|
200
|
-
$$;
|