Exemplo n.º 1
0
def main():
    handler = MyHandler()
    client = DcpClient()
    client.connect('172.23.105.195', 8091, 'bucket-1', 'Administrator',
                   'password', handler)
    for i in range(8):
        result = client.add_stream(i, 0, 0, 10, 0, 0, 0)
        if result['status'] != 0:
            print 'Stream request to vb %d failed dur to error %d' %\
                (i, result['status'])

    while handler.has_active_streams():
        time.sleep(.25)

    print handler.get_num_items()
    client.close()
Exemplo n.º 2
0
    def run(self, sid, lock):
        self.sid = sid
        host, port = self.ts.node.split(':')

        try:
            self.handler = DcpHandler()
            self.dcp_client = DcpClient()
            self.dcp_client.connect(host, int(port), self.ts.bucket,
                                    'Administrator', 'password',
                                    self.handler)
        except:
            logger.info('Connection Error: dcp-worker-{}'.format(self.sid))
            return

        logger.info('Started: query-worker-{}'.format(self.sid))
        for vb in range(1024):
            start_seqno = 0
            end_seqno = 18446744073709551615  # 2^64 - 1
            result = self.dcp_client.add_stream(vb, 0, start_seqno, end_seqno,
                                                0, 0, 0)
            if result['status'] != 0:
                logger.warn('Stream failed for vb {} due to error {}'
                            .format(vb, result['status']))

        no_items = 0
        last_item_count = 0
        while no_items < 10:
            time.sleep(1)
            cur_items = self.handler.get_num_items()
            if cur_items == last_item_count:
                no_items += 1
            else:
                no_items = 0
            last_item_count = cur_items

        self.dcp_client.close()

        logger.info('Finished: dcp-worker-{}, read {} items'
                    .format(self.sid, last_item_count))