[pyar] simulacion de trafico

Nhomar Hernández nhomar.hernandez en netquatro.com
Mie Jul 21 11:57:57 ART 2010


Probaste usar el objeto datetime.timedelta[1]?? a mi me vá buenísimo....
proceso miles de registros con rangos de fechas - horas variables en pocos
segundo a lo mejor te vá mejor que creando tu la ecuación matemática....

[1]http://docs.python.org/library/datetime.html#timedelta-objects



El 21 de julio de 2010 09:29, Matias Graña <matias.alejo en gmail.com>escribió:

> Hola, gente;
>
> Tengo una lista de pares [tms, string], que quiero usar para simular
> tráfico en un server. Los tms de la lista dicen a qué ritmo hay que
> iniciar un Thread con el parámetro string. En rigor, lo que me
> interesa es la diferencia entre los tms, no sus valores, por lo que
> cuando comienzo todo, miro el tms actual y voy iniciando los Threads a
> medida que la diferencia con el primer tms que aparece es el tiempo
> que pasó. A los bifes: el código que uso es éste
>
>    pos = 0
>    totlen = len(queries)
>    tbeg = datetime.now()
>
>    while pos < totlen:
>        tnow = datetime.now()
>        tdif = tnow - tbeg
>        difms = tdif.seconds * 1000 + tdif.microseconds/1000
>        if difms >= queries[pos][0]:
>            thrd = Pedido(queries[pos][1])
>            thrd.start()
>            threads.append(thrd)
>            print "retraso: %5d" % (difms - queries[pos][0]])
>            pos += 1
>
> (los tms están en milisegundos, por eso paso tdif a milisegundos con
> tdif.seconds * 1000 + tdif.microseconds/1000). Los pares [tms,string]
> vienen en la lista queries, y Pedido es mi clase que extiende Thread.
> Con cada Thread imprimo cuánto más tarde se llamó que lo que
> correspondía hacerlo. Cuando los tms vienen seguiditos, el server no
> da abasto y se acumulan un poco.
> La consulta es: seguro que hay mejores maneras de hacer esto.
> Cualquier idea que mejore la cosa es bienvenida. El mayor problema que
> tengo es que el bucle principal, cuando hay mucha diferencia entre un
> tms y el que sigue, corre igual y usa cpu solo para ir comparando
> hasta que llegue el momento de iniciar el próximo Thread. Esto hace
> que no pueda medir bien la respuesta del server, ya que gasto parte
> importante de la cpu en mi script y le dejo menos a atender los
> threads que se inician.
> En fin, como dije, cualquier idea es bienvenida.
>
> Saludos,
> -- Matías Graña
> _______________________________________________
> 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/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100721/dae5bc23/attachment.html>


More information about the pyar mailing list