def new(self, body, resp): worker = self.workers.new() machine = ProcHandler(self.config, Writer(self.config)) machine.start() worker.CONTROLQUEUE = machine.stopqueue worker.OUTPUTQUEUE = machine.subproc.queue self.workers.save(worker) resp.respond(worker.OUTPUTQUEUE)
def new(self, msg, resp): worker = self.workers.new() sender = RPCSender(self.config) r = sender.channel.queue_declare() q = r.method.queue machine = ProcHandler( self.config, Alerter( self.config, msg['data']['query'], msg['data']['time'], msg['data']['quantity'], msg['data']['message'], msg['data']['user']), q) machine.start() req = json.loads(sender.send_request( 'GET', 'hive', {'variables': ['uuid']}, '', '', key=q)) print req worker.UUID = req['uuid'] worker.CONTROLQUEUE = q worker.QUERY = msg['data']['query'] worker.TIME = msg['data']['time'] worker.QUANTITY = msg['data']['quantity'] worker.MESSAGE = msg['data']['message'] self.workers.save(worker) resp.respond({worker.UUID: worker.to_hash()})
def newsearch(self, msg, resp): sender = RPCSender(self.config) queue = sender.channel.queue_declare() queue_name = queue.method.queue results = self.searchers.mongoQuery({'QUERY': msg['data']['QUERY']}) if len(results) > 0: searcher = results[0] sender.channel.queue_bind( exchange=searcher.OUTPUTEXCHANGE, queue=queue_name) req = sender.send_request( 'SET', 'hive', {'override': True}, '', '', key=searcher.CONTROLQUEUE) else: searcher = self.searchers.new() r = sender.channel.queue_declare() q = r.method.queue machine = ProcHandler( self.config, Searcher( self.config, msg['data']['QUERY']), q) machine.start() req = json.loads(sender.send_request( 'GET', 'hive', {'variables': ['exchange']}, '', '', key=q)) searcher.OUTPUTEXCHANGE = req['exchange'] searcher.CONTROLQUEUE = q searcher.QUERY = msg['data']['QUERY'] sender.channel.queue_bind( exchange=searcher.OUTPUTEXCHANGE, queue=queue_name) req = sender.send_request( 'SET', 'hive', {'override': True}, '', '', key=q) self.searchers.save(searcher) resp.respond({'queue': queue_name})