[pyar] Problema con Multiprocessing en un Windows Service

Julian Agustin Cardonnet jcardonnet en gmail.com
Mie Jul 11 11:38:34 ART 2012


Hola lista,
Tengo un programa que es muy CPU-Intensivo, asi que dispara varios procesos
concurrentes para aprovechar los multiples cores. Si lo ejecuto stand-alone
anda todo barbaro. La cuestion es que necesito que corra como un servicio
de windows y ahi es cuando aparecen los problemas...
Hice un servicio que invoca via *execfile* el archivo que contiene el
programa. Si corro otro programa funciona todo bien, pero cuando le pongo
el que lanza varios subprocesos me encuentro con esto (Python 2.7.3):

D:\NLU Triage>nlu_service.py debug
Debugging service NLU_Triage - press Ctrl+C to stop.
Info 0x40001002 - The NLU_Triage service has started.
nlu_service
Exception in thread Thread-2:
Traceback (most recent call last):
  File "D:\Programacion\python2.7\lib\threading.py", line 551, in
__bootstrap_inner
    self.run()
  File "D:\Programacion\python2.7\lib\threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "D:\Programacion\python2.7\lib\multiprocessing\pool.py", line 319,
in _handle_tasks
    put(task)
PicklingError: Can't pickle <type 'function'>: attribute lookup
__builtin__.function failed

Se que habia (hay?) un bug en el modulo threading de windows que impedia
que un servicio lance subprocesos aunque no se si sigue estando en 2.7.3
Alguna pista de que puede estar pasando?

Codigo del Servicio: http://pastebin.com/hKSUr37y
Codigo del programa multiproceso: http://pastebin.com/RiGXL5zA

Saludos
Julian
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120711/16bbcc77/attachment.html>


More information about the pyar mailing list