dispynode остается занятым после планирования первой работы - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь выучить диспы за python. Когда я запускаю первый пример программы, программа прекрасно работает один раз. Когда я пытаюсь запустить его снова, показанный мной dispynode возвращает Busy (8/8); ignoring ping message from [my ip]. Есть идеи, что я делаю неправильно? Я попытался использовать функцию close_node, а также указать localhost для аргументов ip_addr и nodes при создании примера программы JobCluster

(взятой из http://dispy.sourceforge.net/examples.html#canonical -программы )

#function 'compute' is distributed and executed with arguments
def compute(n):
    import time, socket
    time.sleep(n)
    host = socket.gethostname()
    return (host, n)

if __name__ == '__main__':
    # executed on client only; variables created below, including modules imported,
    # are not available in job computations
    import dispy, random
    # distribute 'compute' to nodes; in this case, 'compute' does not have
    # any dependencies to run on nodes
    cluster = dispy.JobCluster(compute)
    # run 'compute' with 20 random numbers on available CPUs
    jobs = []
    for i in range(20):
        job = cluster.submit(random.randint(1, 5))
        jobs.append(job)
    # cluster.wait() # waits until all jobs finish
    for job in jobs:
        host, n = job() # waits for job to finish and returns results
        print('%s executed job %s at %s with %s' % (host, job.id, job.start_time, n))
        # other fields of 'job' that may be useful:
        # job.stdout, job.stderr, job.exception, job.ip_addr, job.end_time
    cluster.print_status()  # shows which nodes executed how many jobs etc.

Вывод из dispynode.py:

    dispynode.py --clean -d

    Reading standard input disabled, as multiprocessing
    does not seem to work with reading input under Windows
2020-04-19 13:53:07 dispynode - dispynode version: 4.12.1, PID: 18728
2020-04-19 13:53:07 dispynode - Files will be saved under "[Some location]"
2020-04-19 13:53:07 pycos - version 4.8.15 with IOCP I/O notifier

    Apparently previous dispynode (PID 18524) has gone away;
    please check manually and kill process(es) if necessary

2020-04-19 13:53:07 dispynode - "My computer" serving 8 cpus
2020-04-19 13:53:07 dispynode - TCP server at [my IP]:61591
2020-04-19 13:54:13 dispynode - New computation "8a348067f9c10d00cd98a0a50d3af6fe89dc1316" from [my IP]
2020-04-19 13:54:13 dispynode - New job id 1829735735488 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1831802801752 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1831802801632 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1829735735368 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1829735735608 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1829735735728 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1831802801872 from [my IP]/[my IP]
2020-04-19 13:54:13 dispynode - New job id 1831802801992 from [my IP]/[my IP]
2020-04-19 13:54:14 dispynode - Sending result for job 1831802801632 (11)
2020-04-19 13:54:14 dispynode - New job id 1829735735848 from [my IP]/[my IP]
2020-04-19 13:54:14 dispynode - Sending result for job 1831802801872 (11)
2020-04-19 13:54:14 dispynode - New job id 1829735735968 from [my IP]/[my IP]
2020-04-19 13:54:15 dispynode - Sending result for job 1829735735608 (11)
2020-04-19 13:54:15 dispynode - New job id 1829735736088 from [my IP]/[my IP]
2020-04-19 13:54:15 dispynode - Sending result for job 1831802801992 (11)
2020-04-19 13:54:15 dispynode - New job id 1829735736208 from [my IP]/[my IP]
2020-04-19 13:54:16 dispynode - Sending result for job 1831802801752 (11)
2020-04-19 13:54:16 dispynode - New job id 1829735736328 from [my IP]/[my IP]
2020-04-19 13:54:16 dispynode - Sending result for job 1829735735488 (11)
2020-04-19 13:54:16 dispynode - New job id 1829735736448 from [my IP]/[my IP]
2020-04-19 13:54:16 dispynode - Sending result for job 1829735735368 (11)
2020-04-19 13:54:16 dispynode - New job id 1829735736568 from [my IP]/[my IP]
2020-04-19 13:54:16 dispynode - Sending result for job 1829735735728 (11)
2020-04-19 13:54:16 dispynode - New job id 1829735736688 from [my IP]/[my IP]
2020-04-19 13:54:18 dispynode - Sending result for job 1829735735848 (11)
2020-04-19 13:54:18 dispynode - New job id 1829735736808 from [my IP]/[my IP]
2020-04-19 13:54:18 dispynode - Sending result for job 1829735735968 (11)
2020-04-19 13:54:18 dispynode - New job id 1829735736928 from [my IP]/[my IP]
2020-04-19 13:54:19 dispynode - Sending result for job 1829735736088 (11)
2020-04-19 13:54:19 dispynode - New job id 1829735737048 from [my IP]/[my IP]
2020-04-19 13:54:20 dispynode - Sending result for job 1829735736448 (11)
2020-04-19 13:54:20 dispynode - New job id 1829735737168 from [my IP]/[my IP]
2020-04-19 13:54:20 dispynode - Sending result for job 1829735736208 (11)
2020-04-19 13:54:20 dispynode - Sending result for job 1829735736928 (11)
2020-04-19 13:54:21 dispynode - Sending result for job 1829735736328 (11)
2020-04-19 13:54:22 dispynode - Sending result for job 1829735736568 (11)
2020-04-19 13:54:22 dispynode - Sending result for job 1829735736688 (11)
2020-04-19 13:54:23 dispynode - Sending result for job 1829735736808 (11)
2020-04-19 13:54:23 dispynode - Sending result for job 1829735737168 (11)
2020-04-19 13:54:24 dispynode - Sending result for job 1829735737048 (11)
2020-04-19 14:12:35 dispynode - Busy (8/8); ignoring ping message from [my IP]

Последняя строка вывода - это когда я снова пытаюсь запустить программу после ее первого выполнения.

...