распределенные вычисления пафоса, не соединяющиеся с удаленным хостом - PullRequest
1 голос
/ 03 апреля 2020

Я пытаюсь порождать процессы на удаленном узле. Код напоминает ответ, который я нашел здесь

if __name__ == "__main__":

from pathos.pp import ParallelPythonPool as Pool
def sleepy_squared(x):
    from time import sleep
    sleep(1.0)
    import socket

    print(socket.gethostname())

    return x**2

p = Pool(8, servers=('151.49.140.246:1234',))
# use an asynchronous parallel map
x = [1,2,3,4,5,6,7,8,9]
res = p.amap(sleepy_squared, x)

print(res.get())

Проблема в том, что когда я запускаю этот код, pathos продолжает работать на моей локальной машине, игнорируя атрибут сервера. Я хотел бы, чтобы функция запускалась только на удаленном сервере (или cra sh, если он недоступен). Для настройки сервера я запускаю файл ppserver.py (находится в папке Scripts в установке Anaconda). Я попытался запустить его с несколькими конфигурациями

python ppserver.py -d
python ppserver.py -i 127.0.0.1 -p 1234 -d
python ppserver.py -i 151.49.140.246 -p 1234 -b 255.255.255.0 -d 

(последняя даже не работает)

Я не могу честно понять, если проблема со стороной сервера конфигурации ( хотя сервер слушает) или на стороне клиента (серверы игнорируются) или оба.

...