2013-11-12 3 views
2

Мне интересно, можно ли сделать stdout работает с 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#sending-and-receiving-logging-events-across-a-network

+0

Спасибо. Аналогичный ответ был указан в http://stackoverflow.com/questions/15096090/python-separate-processes-logging-to-same-file. – Drake

Смежные вопросы