Python: многопроцессорная карта пула с init (передача обработчика в отображенную функцию) и удаление - PullRequest
1 голос
/ 20 октября 2011

Я хочу сделать что-то подобное, используя Pool:

  1. Для каждого процесса в пуле инициализируйте обработчик (обработчик базы данных, обработчик http и т. Д.).
  2. Вызов сопоставленной функции с обработчиком, инициализированным на шаге 1.
  3. Вызов функции деинициализации с обработчиком, инициализированным на шаге 1.

Возможно ли это с помощью пула и сопоставления, или яесть другие лучшие / более простые варианты?Должен ли я просто написать свой собственный multiprocessing.pool.worker ()?

Вот в основном то, что я хочу сделать:

# per worker lifetime 
conn = httplib.HTTPConnection("localhost",8080)
# to be mapped, with conn from worker as a arg
conn.request("GET", "/some/url")
r1 = conn.getresponse()
r1.status 
# per worker lifetime
conn.close()
...