glass-broker-app is an implementation of the neic-glass3 libraries that reads input, station, and configuration updates from HazDev Broker topics, and writes output and station information requests to HazDev Broker topics.
To build glass-broker-app, set the BUILD_GLASS-BROKER-APP option equal to
true (1) in the cmake command or GUI. Building glass-broker-app requires
dependencies, such as hazdev-broker
and librdkafka.
An example configuration for glass-broker-app is available in the glass-broker-app params directory
{
"Configuration":"glass-broker-app",
"LogLevel":"debug",
"ConfigDirectory":"./params",
"StationList":"stationlist.d",
"InitializeFile":"initialize.d",
"GridFiles":[
"ak_grid.d",
],
"InputConfig":"input.d",
"OutputConfig":"output.d"
}
{
"Configuration":"GlassInput",
"HazdevBrokerConfig": {
"Type":"ConsumerConfig",
"Properties":{
"client.id":"glass3Default",
"group.id":"1",
"metadata.broker.list":"<HazDev Brokers>",
"enable.auto.commit":"false"
}
},
"HazdevBrokerTopicConfig": {
"Type":"TopicConfig",
"Properties":{
"auto.commit.enable":"false",
"auto.offset.reset":"latest"
}
},
"Topics":["Dev-RayPicker-1", "Station-Data"],
"HeartbeatDirectory":"./",
"BrokerHeartbeatInterval":300,
"QueueMaxSize":1000,
"DefaultAgencyID":"US",
"DefaultAuthor":"glassConverter"
}
{
"Configuration":"GlassOutput",
"PublishOnExpiration":false,
"PublicationTimes":[20,180],
"HazdevBrokerConfig": {
"Type":"ProducerConfig",
"Properties":{
"client.id":"glass3Default",
"group.id":"0",
"metadata.broker.list":"<HazDev Brokers>",
"retries":"0"
}
},
"OutputTopics":[
{
"TopicName":"OK",
"TopLatitude":38.0,
"LeftLongitude":-101.0,
"BottomLatitude":33.0,
"RightLongitude":-94.0
},
{ "TopicName":"DefaultWorld"
}
],
"StationRequestTopic":"Station-Lookup",
"SiteListDelay":7200,
"StationFile":"./params/stationlist.d",
"OutputAgencyID":"US",
"OutputAuthor":"glass"
}
For neic-glass3 algorithmic configuration, see GLASS 3 Configuration.
To run glass-broker-app, use the following command: glass-broker-app <configfile> [logname] [noconsole] where <configfile> is the required path to the glass.d configuration file, [logname] is an optional command that defining an alternate name for the glass-broker-app log file, and [noconsole] is an optional command specifying that glass-broker-app should not write messages to the console.
glass-broker-app uses the environment variable GLASS_LOG to define the location to write log files