Re: [Python-es] Respuesta lentísima de SimpleXMLRPC Server en windows xp [SOLUCIONADO]

heimy <[email protected]> Wed, 16 Dec 2009 22:48:39 +0000
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
2009/12/16 Sio2 <[email protected]>:

>
> 1 0.000 0.000 4.524 BaseHTTPServer.py:478(address_string)
>
> Ah=ED est=E1n mis famosos 4 segundos y medio. Ah=ED y en otras funciones =
que
> supuse que invocaban a esta y por eso tambi=E9n tardaban en ejecutarse 4,=
5
> segundos.
>
> He ido a la documentaci=F3n y he le=EDdo:
>
> address_string()
> =A0 =A0Returns the client address, formatted for logging. A name lookup i=
s
> =A0 =A0performed on the client's IP address.

Jojojo... Pena que llegu=E9 tarde a la conversaci=F3n. Te iba a sugerir
problemas de red y, mira t=FA, era por problemas de resoluci=F3n inversa
:D =A1Qu=E9 cl=E1sico!

> =BFC=F3mo solucionar=EDais el problema de una forma elegante? Supongo que
> redefiniendo el m=E9todo address_string de BaseHTTPRequestHandler, pero
> c=F3mo, porque no tengo ni idea de c=F3mo conocer la ip del cliente dentr=
o
> de esa clase.

En la docu de BaseHTTPServer tienes una indicaci=F3n de por d=F3nde tirar:

-----
log_message(	format, ...)

Logs an arbitrary message to sys.stderr. This is typically overridden
to create custom error logging mechanisms. The format argument is a
standard printf-style format string, where the additional arguments to
log_message() are applied as inputs to the formatting. The client
address and current date and time are prefixed to every message
logged.

----

Uno de los par=E1metros de inicializaci=F3n de SimpleXMLRPCServer es
"requestHandler". Por defecto toma SimpleXMLRPCRequestHandler, que
hereda de BaseHTTPRequestHandler y tiene un "log_message". Si creas un
derivado de SimpleXMLRPCRequestHandler redefiniendo log_message de
alguna manera que te convenga (imprimiendo la IP a secas en lugar del
nombre, por ejemplo) y le pasas al servidor un
requesHandler=3DClaseDerivada, pues ya tendr=EDas el problema resuelto.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes