Параллельный модуль Python с использованием другого сервера
Я использую параллельный Python для обработки некоторых чисел на нескольких компьютерах. Все работало нормально, пока я не подумал, что было бы неплохо включить некоторые занятия.
Вот код для отправки на работу:
for i in xrange(n_cpus):
jobs.append(job_server.submit(self.fcalc_rs_rp, (ch_lambdas[i], thetas, ch_n_arr[i]), (), ("import numpy as np", "from SimulationOO import *")))
Он отлично работает на одном компьютере (также использует все ядра), но если я пытаюсь использовать другой сервер, вычисления никогда не прекращаются.
Проблема в том, что сервер не загружен процессором, потому что он не может загрузить from SimulationOO import *
поскольку файл не существует на сервере.
Одним из обходных путей было бы поставить метод .fcalc_rs_rp()
вне класса и сделать его функцией, но на самом деле я хочу иметь функцию внутри класса, и, возможно, у вас есть хорошая идея?
Если я пытаюсь не использовать from SimulationOO import *
часть и вместо того, чтобы определить все функции, необходимые как depfuncs, он дает ошибку AttributeError: 'module' object has no attribute 'Layer'
где Layer
это один из классов, которые я использую.
Есть ли у вас какой-нибудь совет, как я могу заставить это работать?
Спасибо