From 2f7dd8b770233a6a77857796b85bfe97f89408f2 Mon Sep 17 00:00:00 2001 From: Hal Simpson <hasimpson@usgs.gov> Date: Mon, 13 Jul 2015 13:46:40 -0600 Subject: [PATCH] Forceout is now an optional part of edge out, with the default being false --- geomagio/Controller.py | 12 +++++++++--- geomagio/edge/EdgeFactory.py | 9 +++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/geomagio/Controller.py b/geomagio/Controller.py index 019386fdb..0614474db 100644 --- a/geomagio/Controller.py +++ b/geomagio/Controller.py @@ -274,7 +274,8 @@ def main(args): type=args.type, interval=args.interval, locationCode=locationcode, - tag=args.output_edge_tag) + tag=args.output_edge_tag, + forceout=args.forceout) else: print >> sys.stderr, "Missing required output directive" @@ -382,8 +383,13 @@ def parse_args(args): parser.add_argument('--realtime', action='store_true', default=False, - help='Flag to run last hour if interval is minute, ' + - 'or last 10 minutes if interval is seconds') + help='Flag to run the last hour if interval is minute, ' + + 'or the last 10 minutes if interval is seconds') + parser.add_argument('--forceout', + action='store_true', + default=False, + help='Flag to force data into miniseed blocks. Should only ' + + 'be used when certain the data is self contained.') # Input group input_group = parser.add_mutually_exclusive_group(required=True) diff --git a/geomagio/edge/EdgeFactory.py b/geomagio/edge/EdgeFactory.py index 32ee18c9c..d74e441d5 100644 --- a/geomagio/edge/EdgeFactory.py +++ b/geomagio/edge/EdgeFactory.py @@ -52,6 +52,9 @@ class EdgeFactory(TimeseriesFactory): tag: str A tag used by edge to log and associate a socket with a given data source + forceout: bool + Tells edge to forceout a packet to miniseed. Generally used when + the user knows no more data is coming. See Also -------- @@ -68,7 +71,7 @@ class EdgeFactory(TimeseriesFactory): def __init__(self, host=None, port=None, write_port=None, observatory=None, channels=None, type=None, interval=None, observatoryMetadata=None, locationCode=None, - cwbhost=None, cwbport=0, tag='GeomagAlg'): + cwbhost=None, cwbport=0, tag='GeomagAlg', forceout=False): TimeseriesFactory.__init__(self, observatory, channels, type, interval) self.client = earthworm.Client(host, port) @@ -81,6 +84,7 @@ class EdgeFactory(TimeseriesFactory): self.write_port = write_port self.cwbhost = cwbhost or '' self.cwbport = cwbport + self.forceout = forceout def get_timeseries(self, starttime, endtime, observatory=None, channels=None, type=None, interval=None): @@ -618,7 +622,8 @@ class EdgeFactory(TimeseriesFactory): trace_send.data) trace_send = self._convert_trace_to_int(trace_send) ric.send_trace(interval, trace_send) - ric.forceout() + if self.forceout: + ric.forceout() ric.close() def _set_metadata(self, stream, observatory, channel, type, interval): -- GitLab