コード例 #1
0
def start_manager(length, sub_len):
    context = zmq.Context()
    print("Doing a distributed sum of an array %d long" % length)
    to_sum = range(length)

    task_send_sock = context.socket(zmq.PUSH)
    task_send_sock.bind(TASK_ADDR)
    sent, idx = 0, 0
    num_pkts = int(ceil(float(sent) / sub_len))

    while sent < num_pkts:
        start, end = idx, idx+sub_len
        print("Sending sub-array from %d to %d" % (start, end))
        task_msg = Task(to_sum[start:end]) 
        task_send_sock.send(task_msg.dump())
        sent += 1
        idx += sub_len

    print("Sent all the messages")