[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