Пример #1
0
    def end_service_query(self, gid, query):
        # get all in list
        results = self.rc.lrange(S1.query_list_out(query), 0, -1)
        if not results:
            return None

        received = []
        # check all results for the specified gid
        mask = '{0}:'.format(gid)
        for result in results:
            if result.startswith(mask):
                self.rc.lrem(S1.query_list_out(query), result)

                # filter out empty results
                received.append(result[len(mask):])

        return [r for r in received if r] if len(received) else None
Пример #2
0
 def begin_service_query(self, gid, query):
     self.list_push(S1.query_list_in(query), gid)
     self.pubsub.broadcast_command(S1.poller_channel_name('all'), query,
                                   S1.query_list_in(query),
                                   S1.query_list_out(query))