def __init__(self, opts, spec, source_bucket, source_node, source_map, sink_map, ctl, cur): super(DCPStreamSource, self).__init__(opts, spec, source_bucket, source_node, source_map, sink_map, ctl, cur) threading.Thread.__init__(self) self.dcp_done = False self.dcp_conn = None self.mem_conn = None self.dcp_name = opts.process_name self.ack_last = False self.cmd_last = None self.num_msg = 0 self.version_supported = self.source_node['version'].split(".") >= [ "3", "0", "0" ] self.recv_min_bytes = int(opts.extra.get("recv_min_bytes", 4096)) self.batch_max_bytes = int(opts.extra.get("batch_max_bytes", 400000)) self.flow_control = int(opts.extra.get("flow_control", 1)) self.vbucket_list = getattr(opts, "vbucket_list", None) self.r = random.Random() self.queue = PumpQueue( ) # self.queue does not appear to be used anywhere, remove in future self.queue_size = int(opts.extra.get("dcp_consumer_queue_length", 1000)) self.response = PumpQueue(self.queue_size) self.running = False self.stream_list = {} self.unack_size = 0 self.node_vbucket_map = None
def start_workers(self, queue_size): if self.queue: return self.queue = PumpQueue(queue_size) threads = [threading.Thread(target=PumpingStation.run_worker, name="w" + str(i), args=(self, i)) for i in range(self.opts.threads)] for thread in threads: thread.daemon = True thread.start()
def __init__(self, opts, spec, source_bucket, source_node, source_map, sink_map, ctl, cur): super(UPRStreamSource, self).__init__(opts, spec, source_bucket, source_node, source_map, sink_map, ctl, cur) threading.Thread.__init__(self) self.upr_done = False self.upr_conn = None self.mem_conn = None self.upr_name = "".join(random.sample(string.letters, 16)) self.ack_last = False self.cmd_last = None self.num_msg = 0 self.version_supported = self.source_node['version'].split(".") >= [ "3", "0", "0" ] self.recv_min_bytes = int(getattr(opts, "recv_min_bytes", 4096)) self.vbucket_list = getattr(opts, "vbucket_list", None) self.r = random.Random() self.queue = PumpQueue() self.response = PumpQueue() self.running = False self.stream_list = {}