def __init__(self, opts): self.opts = opts self.subscriber = ZmqSubscriber( **ZmqSubscriber.getOptionValues(self.opts)) self.cacheDir = os.path.join(DATA_PATH, 'cache') self.store = None self.delayBox = DelayBox(self.writeOutputTile, maxDelaySeconds=5, numBuckets=10) if opts.timeSeries: timeSeriesList = opts.timeSeries.split(',') print 'indexing only the following time series:' for valueCode in timeSeriesList: print ' %s' % valueCode timeSeriesSet = set(opts.timeSeries.split(',')) else: timeSeriesSet = None self.indexes = {} for m in meta.TIME_SERIES: if 'map' in m: if timeSeriesSet and m['valueCode'] not in timeSeriesSet: continue index = TileIndex(m, self) self.indexes[m['valueCode']] = index
def __init__(self, meta, subscriber, batchIndexAtStart=True): self.meta = meta self.subscriber = subscriber self.queueMode = batchIndexAtStart queryClass = getClassByName(self.meta['queryType']) self.queryManager = queryClass(self.meta) valueClass = getClassByName(self.meta['valueType']) self.valueManager = valueClass(self.meta, self.queryManager) self.valueCode = self.meta['valueCode'] self.cacheDir = os.path.join(DATA_PATH, 'plot', 'cache', self.valueCode) self.segmentDir = os.path.join(DATA_PATH, 'plot', self.valueCode) self.delayBox = DelayBox(self.writeOutputSegment, maxDelaySeconds=5, numBuckets=10) self.queue = deque() self.running = False self.status = None self.statusPath = None self.statusStore = None self.store = None self.batchProcessStartTime = None