Articles of trenzado

Pruebas de unidad de prueba utilizando Autobahn WebSocket

Estoy tratando de escribir pruebas de unidad para mi aplicación que usa Autobahn. Quiero probar mis controladores, los cuales reciben datos del protocolo, los analizan y reactjsn a ellos. Pero cuando mi prueba llega a un punto en que el protocolo debe desconectarse ( self.sendClose ), se genera un error. exceptions.AttributeError: ‘MyProtocol’ object has no […]

Sobrescribir la clase Autobahn / Twisted WebsocketClientProtocol

Quiero anular mi clase WebSocketClientFactory para permitir que una cola de trabajo se llene con los datos entrantes. Aquí está el código de conexión que estoy tratando factory = WebSocketClientFactory(“ws://localhost:7096”) job_queue = Queue.Queue() factory.protocol = BridgeSocket(job_queue) connectWS(factory) Y aquí está mi clase de socket: class BridgeSocket(WebSocketClientProtocol): def __init__(self,producer_queue): self.producer_queue = producer_queue def sendHello(self): self.sendMessage(“hello”) def […]

Biblioteca de cliente Python Jabber / XMPP para Twisted

Estoy buscando una biblioteca de Python para escribir clientes Jabber / XMPP usando el marco Twisted.

Pérdida de memoria en Python Twisted: ¿dónde está?

Tengo un servidor Twisted bajo carga. Cuando el servidor está bajo carga, el uso de la memoria aumenta y nunca se reclama (incluso cuando no hay más clientes). La próxima vez que se cargue, el uso de la memoria aumenta nuevamente. Aquí hay una instantánea de la situación en ese punto: La memoria RSS es […]

Retorcido: la creación de un ThreadPool y luego la daemonización conduce a lockings poco informativos

Estoy desarrollando una aplicación en red en Twisted, parte de la cual consiste en una interfaz web escrita en Django. Deseo usar el servidor WSGI de Twisted para alojar la interfaz web, y he escrito un plugin “tap” de trabajo que me permite usar twistd . Cuando se ejecuta el servidor con el indicador -n […]

Retorcido: aplazado que dispara repetidamente?

Deferred s Deferred son una excelente manera de realizar un procesamiento asíncrono en Twisted. Sin embargo, como el nombre lo indica, son para cálculos diferidos, que solo se ejecutan y terminan una vez, activando las devoluciones de llamada una vez. ¿Qué pasa si tengo un cálculo repetido, como hacer clic en un botón? ¿Hay algún […]

¿Cómo creas un cliente de Google Talk simple usando la biblioteca de Python de palabras torcidas?

Estoy interesado en hacer un cliente de Google Talk usando Python y me gustaría usar el módulo de palabras de las bibliotecas retorcidas. He visto los ejemplos, pero no funcionan con la implementación actual de Google Talk. ¿Alguien ha tenido suerte con esto? ¿Te importaría documentar un breve tutorial? Como tarea simple, me gustaría crear […]

Python Twisted proxy – cómo interceptar paquetes

Estoy intentando imprimir el cuerpo de una respuesta HTTP usando Python. Aquí está mi código hasta ahora: from twisted.web import proxy, http from twisted.internet import reactor from twisted.python import log import sys log.startLogging(sys.stdout) class ProxyFactory(http.HTTPFactory): protocol=proxy.Proxy reactor.listenTCP(8080, ProxyFactory()) reactor.run() Cuando conecto mi navegador a localhost: 8080, puedo ver que todas mis solicitudes se están dirigiendo […]

Interfaz web para una aplicación torcida.

Tengo una aplicación escrita en Twisted y quiero agregar una interfaz web para controlarla y monitorearla. Necesitaré muchas páginas dinámicas que muestren el estado actual y la configuración, por lo que esperaba un marco que ofrezca al menos un lenguaje de plantilla con herencia y algún enrutamiento básico. Ya que estoy usando Twisted, de todos […]

¿Cómo ejecutar un progtwig y también ejecutar código cuando se reciben datos de la red?

He escrito un pequeño progtwig en Python que básicamente hace lo siguiente: Obtiene una palabra clave como entrada del usuario. Si coincide con la palabra clave establecida, continúa. Después de ingresar la palabra clave correcta, se le pide al usuario que ingrese un comando. Después de leer el comando, el progtwig comprueba un archivo de […]