def consume(self,doc): try: data = json.loads(doc.body) Request.validate(data=data) except Exception as err: self.logging.warn('Problem processing incoming data. Reason: %s' % (err)) else: self.scheduler_callback(json.loads(doc.body)) self.incoming.basic_ack(doc.delivery_tag)
def do(self,doc): try: self.logging.info('Executing a request with destination %s:%s' % (doc['destination']['name'], doc['destination']['subject'])) request = Request(doc=doc) command = self.pluginManager.getExecutable(command=request.plugin['name'], hash=request.plugin['hash']) output = self.executePlugin.do(request.plugin['name'], command, request.plugin['parameters'], request.plugin['timeout']) (raw, verbose, metrics) = self.processOutput(request.plugin['name'],output) request.insertPluginOutput(raw, verbose, metrics) self.submitBroker.put(request.answer) except Exception as err: self.logging.warning('There is a problem executing %s:%s. Reason: %s' % (doc['destination']['name'], doc['destination']['subject'], err))