コード例 #1
0
def single_output(stop_event: Event):
    print("single output get queue:")
    sum_limit = 1000
    counter = 0
    manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler,
                                         QueueManager.Method_Whois_Input)
    while not stop_event.is_set():
        try:
            while not output_q.empty() or not stop_event.is_set():
                result = output_q.get(False, 1)
                counter += 1
                if isinstance(result, list):
                    for item in result:
                        print("server queue output:", str(item), "count:",
                              counter)
                else:
                    # print(result)
                    pass
                if counter / sum_limit > 0 and counter % sum_limit == 0:
                    print("current output count is:", counter)
                time.sleep(0.000001)
        except Exception as ex:
            pass
            # manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
        finally:
            print("going to sleep.")
            time.sleep(1)
コード例 #2
0
def single_output():
    current_pid = os.getpid()
    print("single output get queue:")
    sum_limit = 1000
    counter = 0
    manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
    while True:
        try:
            while not output_q.empty():
                result = output_q.get()
                counter += 1
                if isinstance(result, list):
                    for item in result:
                        # print(item)
                        pass
                else:
                    # print(result)
                    pass
                if counter / sum_limit > 0 and counter % sum_limit == 0:
                    print("current output count is:", counter)
                time.sleep(0.000001)
        except Exception as ex:
            print("single_output with pid: ", current_pid, " error:", ex)
            # manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
        time.sleep(0.001)
コード例 #3
0
def single_output(stop_event: Event):
    print("single output get queue:")
    sum_limit = 1000
    counter = 0
    manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Input)
    while not stop_event.is_set():
        try:
            while not output_q.empty() or not stop_event.is_set():
                result = output_q.get(False, 1)
                counter += 1
                if isinstance(result, list):
                    for item in result:
                        print("server queue output:", str(item), "count:", counter)
                else:
                    # print(result)
                    pass
                if counter/sum_limit > 0 and counter % sum_limit==0:
                    print("current output count is:", counter)
                time.sleep(0.000001)
        except Exception as ex:
            pass
            # manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
        finally:
            print("going to sleep.")
            time.sleep(1)
コード例 #4
0
def single_output():
    current_pid = os.getpid()
    print("single output get queue:")
    sum_limit = 1000
    counter = 0
    manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler,
                                         QueueManager.Method_Whois_Output)
    while True:
        try:
            while not output_q.empty():
                result = output_q.get()
                counter += 1
                if isinstance(result, list):
                    for item in result:
                        # print(item)
                        pass
                else:
                    # print(result)
                    pass
                if counter / sum_limit > 0 and counter % sum_limit == 0:
                    print("current output count is:", counter)
                time.sleep(0.000001)
        except Exception as ex:
            print("single_output with pid: ", current_pid, " error:", ex)
            # manager, output_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
        time.sleep(0.001)
コード例 #5
0
def single_input(thread_id: int, limit=1000000):
    current_pid = os.getpid()
    duration = 0.1
    link_format = "{0:d}something{1:d}.com"
    counter = 0
    batch_size = 100
    print("single input get queue:")
    manager, input_q = get_queue_client(QueueManager.MachineSettingCrawler,
                                        QueueManager.Method_Whois_Input)
    print("single input got queue:")
    while counter < limit:
        batch = list()
        for item in range(batch_size):
            batch.append((link_format.format(thread_id,
                                             counter), ResponseCode.DNSError))
            counter += 1
        try:
            input_q.put(batch)
        except Exception as ex:
            # manager.shutdown()
            print("single_input thread id:", thread_id, "with pid: ",
                  current_pid, "error: ", ex)
            # manager, input_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Input)
        finally:
            counter += batch_size
            time.sleep(duration)
コード例 #6
0
 def test_queue_init(self):
     chunk_size = 100
     queue_server_t = Process(target=run_queue_server, name="queue_server")
     queue_server_t.start()
     output_t = Process(target=single_output, name="output_thread")
     output_t.start()
     counter = 0
     for i in range(1000):
         print("init queue: ", i)
         time.sleep(0.00001)
         temp = list()
         manager, input_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Output)
         for j in range(chunk_size):
             temp.append(("some_domain.com{0:d}".format(counter), 999))
             counter += 1
         input_q.put(temp)
コード例 #7
0
 def test_queue_init(self):
     chunk_size = 100
     queue_server_t = Process(target=run_queue_server, name="queue_server")
     queue_server_t.start()
     output_t = Process(target=single_output, name="output_thread")
     output_t.start()
     counter = 0
     for i in range(1000):
         print("init queue: ", i)
         time.sleep(0.00001)
         temp = list()
         manager, input_q = get_queue_client(
             QueueManager.MachineSettingCrawler,
             QueueManager.Method_Whois_Output)
         for j in range(chunk_size):
             temp.append(("some_domain.com{0:d}".format(counter, ), 999))
             counter += 1
         input_q.put(temp)
コード例 #8
0
def single_input(thread_id: int, limit=1000000):
    current_pid = os.getpid()
    duration = 0.1
    link_format = "{0:d}something{1:d}.com"
    counter = 0
    batch_size = 100
    print("single input get queue:")
    manager, input_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Input)
    print("single input got queue:")
    while counter < limit:
        batch = list()
        for item in range(batch_size):
            batch.append((link_format.format(thread_id, counter), ResponseCode.DNSError))
            counter += 1
        try:
            input_q.put(batch)
        except Exception as ex:
            # manager.shutdown()
            print("single_input thread id:", thread_id, "with pid: ", current_pid, "error: ", ex)
            # manager, input_q = get_queue_client(QueueManager.MachineSettingCrawler, QueueManager.Method_Whois_Input)
        finally:
            counter += batch_size
            time.sleep(duration)