Articles of torcido

¿Cómo usar LoopingCall con hilos?

Tengo un ejemplo simple: from twisted.internet import utils, reactor from twisted.internet import defer from twisted.internet import threads from twisted.internet.task import LoopingCall,deferLater import time def test1(): print ‘test’ def test2(res): l = [] for i in xrange(3): l.append(threads.deferToThread(test4)) return defer.DeferredList(l) def test3(res): pass def test4(): print ‘thread start’ time.sleep(10) print ‘thread stop’ def loop(): d = […]

Scrapy: cómo depurar solicitudes perdidas de scrapy

Tengo una araña desechable, pero a veces no devuelve solicitudes. He encontrado eso al agregar mensajes de registro antes de generar la solicitud y después de recibir la respuesta. Spider ha iterado sobre una página y un enlace de análisis para el desguace de elementos en cada página. Aquí hay una parte del código SampleSpider(BaseSpider): […]

Interacción del usuario en proceso retorcido.

Estoy ejecutando un proceso torcido que necesita interactuar con el usuario, sin bloquear. La idea es que se le pedirá al usuario que ingrese algunos datos, y una vez que se haya ingresado una línea completa, el progtwig la procesará y, finalmente, activará los eventos. Durante el período en que el usuario ingresa datos, el […]

ImportError con cx_Freeze y pyinstaller

Antes estaba usando pyinstaller para intentar que mi aplicación se torciera como ejecutable, pero obtuve este error al ejecutar: Traceback (most recent call last): File “/usr/local/lib/python2.7/dist-packages/cx_Freeze/initscripts/Console.py”, line 27, in exec code in m.__dict__ File “client_test.py”, line 2, in File “/usr/local/lib/python2.7/dist-packages/Twisted-13.0.0-py2.7-linux-x86_64.egg/twisted/__init__.py”, line 53, in _checkRequirements() File “/usr/local/lib/python2.7/dist-packages/Twisted-13.0.0-py2.7-linux-x86_64.egg/twisted/__init__.py”, line 37, in _checkRequirements raise ImportError(required + “: no […]

Usando las clases twisted.web de Twisted, ¿cómo descargo mis buffers salientes?

He creado un servidor http simple utilizando Twisted, que envía el encabezado Content-Type: multipart / x-mixed-replace. Estoy usando esto para probar un cliente http que quiero configurar para aceptar una transmisión a largo plazo. El problema que surgió es que la solicitud de mi cliente se bloquea hasta que la http.Request llama self.finish (), luego […]

¿Cómo hacer Twisted usar el registro de Python?

Tengo un proyecto donde estoy usando Twisted para mi servidor web. Cuando se producen excepciones (como errores de red), se imprime en la consola. Ya tengo el registro a través del módulo de registro incorporado de Python. ¿Hay alguna manera de decirle al reactor que use eso? ¿Cuál es el patrón habitual para esto?

¿Cómo pasar argumentos adicionales a las funciones de registro de callback con la API de python torcida?

Tengo el siguiente código de Python usando la API torcida. def function(self,filename): def results(result): //do something for i in range(int(numbers)) : name = something that has to do with the value of i df = function_which_returns_a defer(name) df.addCallback(results) Utiliza la API Twisted. Lo que quiero lograr es pasar a la función devuelta por llamada (resultados) […]

Cuándo usar Tornado, cuándo usar Twisted / Cyclone / GEvent / other

¿Cuál de estos marcos / bibliotecas sería la mejor opción para crear aplicaciones web multiusuario modernas? Me encantaría tener un servidor web asíncrono que me permita escalar fácilmente. ¿Qué solución dará el mejor marco de rendimiento / escalabilidad / más útil (en términos de fácil de usar y fácil de desarrollar)? Sería genial si proporcionara […]

torcido: diferencia entre `defer.execute` y` threads.deferToThread`

¿Cuál es la diferencia entre defer.execute() y threads.deferToThread() en trenzado? Ambos toman los mismos argumentos (una función y parámetros para llamarla) y devuelven un aplazado que se activará con el resultado de llamar a la función. La versión de los threads establece explícitamente que se ejecutará en un subproceso. Sin embargo, si la versión defer […]

Retorcido inicio / parada de fábrica / protocolo menos ruidosos mensajes de registro

¿Hay alguna manera de decirle a twistd que no registre el inicio y el paro de la fábrica y el protocolo? Uso muchos tipos de protocolos y realizo muchas conexiones … y mi archivo de registro crece mucho. Así que estoy buscando una forma sencilla de deshabilitar esos mensajes. Saludos