-
Notifications
You must be signed in to change notification settings - Fork 132
Maintenance
When service ids expire in GTFS, the update is necessary to provide users with non-interrupted service for onebusaway applications. This page describes process of manually updating GTFS bundle for onebusaway applications.
For the basic case lets assume setup with single machine running application server with onebusaway-transit-data-federation-webapp and data bundle at C:\OneBusAway\bundle. This is reasonable setup for doing proof of concept with onebusaway. However, it does not take into consideration data validation and testing, or server downtime.
- Compile GTFS using FederatedTransitDataBundleCreatorMain.java in onebusaway-transit-data-federation-builder
- Stop application server
- Delete contents of C:\OneBusAway\bundle
- Copy newly compiled data bundle to C:\OneBusAway\bundle
- Start application server
- Monitor onebusaway-transit-data-federation-webapp log to make sure trip planner graph initialized successfully
For this case lets assume QA and PROD environments with identical setup having two machines each running application server with onebusaway-transit-data-federation-webapp and data bundle at C:\OneBusAway\bundle. For scalability and high availability lets assume we are using load balancer. Provided there is an existing and new GTFS that need to be combined.
- Merge existing GTFS with new-one
- Run FeedValidation tools and investigate reported issues
- Compile GTFS using FederatedTransitDataBundleCreatorMain.java in onebusaway-transit-data-federation-builder
- Take server #1 out of rotation in load balancer
- Update server #1 using same procedure as in Basic Setup
- Bring server #1 into load balancer rotation, take server #2 out
- Update server #2 using same procedure as in Basic Setup
- Bring server #2 into load balancer rotation
At this point QA is running merged GTFS bundle and is available for testing through REST API and / or user-facing applications.
- Use the same process as for QA minus GTFS merge, validation, and compile. Instead copy tested bundle from QA.
As an alternative to start / stopping / rotating application servers "hot swapping" features may be used as they are in OBA NYC in onebusaway-application-modules.