Как заставить стандартный вывод работать с 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

Другие вопросы по тегам