[pyar] Duda, procesos e instancias
Mariano Reingart
reingart en gmail.com
Lun Nov 14 16:26:07 ART 2011
2011/11/14 Alejandro Santos <listas en alejolp.com>:
> 2011/11/14 Alejandro Santos <listas en alejolp.com>:
>>
>> Lo que estás queriendo hacer se puede solucionar usando un Proxy. En
>> la doc del módulo multiprocessing podés ver un par de ejemplo de como
>> usar los managers. [2] [3]
>>
>> [1] http://stackoverflow.com/questions/986006/python-how-do-i-pass-a-variable-by-reference
>> [2] http://docs.python.org/library/multiprocessing.html#proxy-objects
>> [3] http://docs.python.org/library/multiprocessing.html#module-multiprocessing.managers
>>
>
> Un poco mejor explicado: un Proxy te permite ejecutar desde un TPT
> (thread/proceso/tarea/etc.) codigo desde otro TPT, haciendo una simple
> llamada a un método/función.
>
> Por ejemplo, si querés que desde tu tarea1 se codigo como si fuese la
> tarea2 la que lo ejecuta, tenés dos opciones:
>
> (a) Usar una Queue o Fifo para avisarle desde el otro TPT que haga la llamada:
>
> def tarea1(queue, queue2):
> queue.append("llamá a raw_input")
> y = queue2.pop()
>
> def tarea2(queue, queue2):
> while 1:
> x = queue.pop()
> if x == "llamá a raw_input":
> y = raw_input()
> queue2.append(y)
>
> (b) Usar un proxy:
>
> def llamador_a_raw_input():
> return raw_input()
>
> def tarea1(llamador):
> # Acá se hace la magia para ejecutar raw_input en el TPT tarea2
> y = llamador()
>
> def tarea2():
> manager.serve_forever()
>
> def main():
> llamador = manager.nuevo_proxy_a_una_funcion(llamador_a_raw_input)
> proceso1 = nuevo_proceso(tarea1)
> proceso2 = nuevo_proceso(tarea2)
> proceso1.start()
> proceso2.start()
>
> --
Quizas esto pueda ayudar:
http://code.google.com/p/web2py/source/browse/gluon/debug.py
Es una pipa implementada con queue utilizada como e/s para PDB y así
poder depurar de manera remota aplicaciones web2py.
Tengo una idea de extenderlo sobre BDB para no necesitar una consulta,
cualquier cosa avisame,
Sds
Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com
More information about the pyar
mailing list