def setup(self, opts): OperatorDriver.setup(self, opts) self.restrict = opts.get('Restrict') self.group = opts.get('Group', None) self.tz = opts.get('Timezone', core.Timeseries.DEFAULTS['Properties/Timezone']) # specialize the input operators self.ops = [] for k, v in opts.iteritems(): if not k.startswith('Expression'): continue self.ops.append(parse_opex(v))
def setup(self, opts): """ Set up what streams are to be processed. """ restrict = opts.get("Restrict", "has Path and (not has Metadata/Extra/SourceStream)") OperatorDriver.setup(self, opts, shelveoperators=False, raw=True, inherit_metadata=False) # client = SmapClient(smapconf.BACKEND) client= SmapClient(BACKEND) source_ids = client.tags(restrict, 'uuid, Properties/UnitofMeasure') for new in source_ids: id = str(new['uuid']) if not 'Properties/UnitofMeasure' in new: new['Properties/UnitofMeasure'] = '' if not id in self.operators: o1 = SubsampleOperator([new], 300) self.add_operator('/%s/%s' % (id, o1.name), o1) o2 = SubsampleOperator([new], 3600) self.add_operator('/%s/%s' % (id, o2.name), o2) log.msg("Done setting up subsample driver; " + str(len(source_ids)) + " ops")
def load(self, *args, **kwargs): d = threads.deferToThread(self.load_tags) d.addCallback(self.add_operators) d.addCallback(lambda _: OperatorDriver.load(self, *args, **kwargs)) return d
def start(self): d = threads.deferToThread(self.load_tags) d.addCallback(self.add_operators) d.addCallback(lambda _: OperatorDriver.start(self)) return d