Как заставить стандартный вывод работать с Parallel Python?
Мне интересно, можно ли сделать stdout
работает с Parallel Python? Это действительно трудно отладить, не видя распечатки.
Например, учитывая следующие фрагменты кода:
import pp
def printit(s):
print s
job_server = pp.Server()
for i in xrange(100):
job_server.submit(printit, (i,))
job_server.wait()
Там нет распечатки. Есть идеи?
1 ответ
Решение
Посмотрите на использование logging
модуль. Настройте "родительскую" программу на прослушивание через сетевой порт, а ваши "задания" отправляют отладочную информацию (используя logging
) в этот порт. Пример того, как это настроить, приведен здесь: http://docs.python.org/2/howto/logging-cookbook.html