Example #1
0
    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)
Example #2
0
    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()})
Example #3
0
    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})