This project is part of the Transitdata Pulsar-pipeline.
This application creates GTFS-RT Trip Update messages by combining individual stop estimates. Stop cancellation messages are also applied to create cancellations in GTFS-RT format. This application reads multiple Pulsar topics and publishes messages to one topic.
This project depends on transitdata-common project.
mvn compile
mvn package
- Run this script to build the Docker image
We're separating our unit & integration tests using this pattern.
Unit tests:
- add test classes under ./src/test with suffix *Test.java
mvn clean test -P unit-test
Integration tests:
- add test classes under ./src/integration-test with prefix IT*.java
mvn clean verify -P integration-test
- Pulsar
TRIPUPDATE_MAX_AGE_IN_SECS
: maximum age of the trip update. If data is older than this, no trip update is createdTRIPUPDATE_MIN_TIME_BEFORE_DEPARTURE_IN_SECS
: maximum amount of time before the scheduled departure time of the tripTRIPUPDATE_MAX_MISSING_ESTIMATES
: maximum number of missing estimates. If higher than this, no trip update is created- The main use case of this environment variable is to filter bad metro estimates
TRIPUPDATE_TIMEZONE
: timezone to use in the trip updateFILTER_TRAIN_DATA
: whether to filter data for trains. If true, no trip updates are created for trainsPUBLISHER_DEBOUNCE_DELAY
: debounce delay period when publishing trip updates- This environment variable is used to limit the amount of trip updates published because stop estimates tend to arrive in bursts