[pyar] Resumen de pyar, Vol 59, Envío 16

Nicolas Ardison nicolas.ard en gmail.com
Jue Ene 8 11:42:29 ART 2015


On Jan 7, 2015 12:00 PM, <pyar-request en python.org.ar> wrote:
>
> Send pyar mailing list submissions to
>         pyar en python.org.ar
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://listas.python.org.ar/listinfo/pyar
> or, via email, send a message with subject or body 'help' to
>         pyar-request en python.org.ar
>
> You can reach the person managing the list at
>         pyar-owner en python.org.ar
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of pyar digest..."
>
>
> Asuntos del día:
>
>    1. Re: Timeouts para codigo de terceras partes:
>       PyThreadState_SetAsyncExc? (Alejandro Santos)
>    2. Re: Timeouts para codigo de terceras partes:
>       PyThreadState_SetAsyncExc? (Andres Riancho)
>    3. Re: Timeouts para codigo de terceras partes:
>       PyThreadState_SetAsyncExc? (Alejandro Santos)
>    4. Re: Timeouts para codigo de terceras partes:
>       PyThreadState_SetAsyncExc? (Andres Riancho)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 7 Jan 2015 09:32:35 +0100
> From: Alejandro Santos <listas en alejolp.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Timeouts para codigo de terceras partes:
>         PyThreadState_SetAsyncExc?
> Message-ID:
>         <
CAKMi1TzrURUu629LzO6ZaOEQ_p26mjiv5oTAcqT0c0MvuFCW4Q en mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> 2015-01-06 19:14 GMT+01:00 Andres Riancho <andres.riancho en gmail.com>:
> >
> >   * `os.kill(pid, signal.SIGTERM)`, en alguna race condition extraña,
> > puede llegar a matar un proceso que no tiene nada que ver con w3af,
> > oops!
> >
>
> Esto lo resolvés usando n Process en vez de un Pool, construyendo de
> alguna manera tu propia Pool. Por cada Process haces un join con el
> timeout buscado, y si alguno te tira timeout le hacés terminate(). La
> concurrencia la conseguís levantando n threads, donde desde cada
> thread iniciás un Process.
>
> --
> Alejandro Santos
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 7 Jan 2015 08:56:39 -0300
> From: Andres Riancho <andres.riancho en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Timeouts para codigo de terceras partes:
>         PyThreadState_SetAsyncExc?
> Message-ID:
>         <CA+1Rt675rwxRwDobqVbV94=
tcNzAp0XVjGg5mO5hUci22GwUSQ en mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> 2015-01-07 5:32 GMT-03:00 Alejandro Santos <listas en alejolp.com>:
> > 2015-01-06 19:14 GMT+01:00 Andres Riancho <andres.riancho en gmail.com>:
> >>
> >>   * `os.kill(pid, signal.SIGTERM)`, en alguna race condition extraña,
> >> puede llegar a matar un proceso que no tiene nada que ver con w3af,
> >> oops!
> >>
> >
> > Esto lo resolvés usando n Process en vez de un Pool, construyendo de
> > alguna manera tu propia Pool. Por cada Process haces un join con el
> > timeout buscado, y si alguno te tira timeout le hacés terminate(). La
> > concurrencia la conseguís levantando n threads, donde desde cada
> > thread iniciás un Process.
>
> Pero entonces tengo el overhead de tener que iniciar un nuevo proceso
> cada vez que quiero parsear algo, y eso no es bueno.
>
> > --
> > Alejandro Santos
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
>
>
>
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 7 Jan 2015 13:57:44 +0100
> From: Alejandro Santos <listas en alejolp.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Timeouts para codigo de terceras partes:
>         PyThreadState_SetAsyncExc?
> Message-ID:
>         <
CAKMi1Tz_6N_kMAdp4QD4Z6PKW-z2by_7d_xJB4zeEmnKH63Gvw en mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> 2015-01-07 12:56 GMT+01:00 Andres Riancho <andres.riancho en gmail.com>:
> >
> > Pero entonces tengo el overhead de tener que iniciar un nuevo proceso
> > cada vez que quiero parsear algo, y eso no es bueno.
> >
>
> No, hacés una Queue con todo el trabajo del Pool, Iniciás N procesos,
> y dentro de cada proceso vas sacando elementos de la Queue y los vas
> procesando. Esto es exactamente lo que hace Pool internamente:
>
>
https://hg.python.org/cpython/file/98376cf9133d/Lib/multiprocessing/pool.py#l93
>
> --
> Alejandro Santos
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 7 Jan 2015 10:16:10 -0300
> From: Andres Riancho <andres.riancho en gmail.com>
> To: Python Argentina <pyar en python.org.ar>
> Subject: Re: [pyar] Timeouts para codigo de terceras partes:
>         PyThreadState_SetAsyncExc?
> Message-ID:
>         <
CA+1Rt672T6STG1cqy8eUCeXXNJ8-C0-6uVqBU78jN6q0dX-y+w en mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> 2015-01-07 9:57 GMT-03:00 Alejandro Santos <listas en alejolp.com>:
> > 2015-01-07 12:56 GMT+01:00 Andres Riancho <andres.riancho en gmail.com>:
> >>
> >> Pero entonces tengo el overhead de tener que iniciar un nuevo proceso
> >> cada vez que quiero parsear algo, y eso no es bueno.
> >>
> >
> > No, hacés una Queue con todo el trabajo del Pool, Iniciás N procesos,
> > y dentro de cada proceso vas sacando elementos de la Queue y los vas
> > procesando. Esto es exactamente lo que hace Pool internamente:
> >
> >
https://hg.python.org/cpython/file/98376cf9133d/Lib/multiprocessing/pool.py#l93
>
> Ah, vos decis re-implementar / extender el multiprocessing Pool con
> algun feature que me permita saber que process es el que esta
> corriendo cada trabajo? Si, no estaría mal, creo que si los usuarios
> se quejan de mi os.kill voy a intentar ir por ese camino ;)
>
> > --
> > Alejandro Santos
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
>
>
>
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
>
>
> ------------------------------
>
> Subject: Pié de página del digest
>
> _______________________________________________
> pyar mailing list
> pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
>
> ------------------------------
>
> Fin de Resumen de pyar, Vol 59, Envío 16
> ****************************************
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150108/a7244e0c/attachment.html>


More information about the pyar mailing list