Articles of Gevent

Enviar mensaje WebSocket desde la vista Frask

Estoy tratando de hacer una aplicación Flask que utiliza WebSockets. El ejemplo de Flask-sockets funciona, pero ¿cómo puedo enviar un mensaje desde una vista normal? De manera similar a cómo Flask-SocketIO usa .emit() y .send() -methods. En el siguiente ejemplo (del ejemplo de Flask-Sockets) me gustaría, por ejemplo, poder transmitir un mensaje desde la vista […]

Apio + gevent usando solo un núcleo de CPU

Tengo problemas con la carga de rendimiento al ejecutar Celery con gevent, todo se ejecuta en el mismo núcleo en mi VPS. Aquí hay una captura de pantalla de 4 instancias de Celery con 20 gevent concurrency cada una. Cómo arreglar esto ? Qué estoy haciendo mal ? Aquí está mi primera tarea: def update_sender(): […]

botella gevent y roscado: gevent solo se puede utilizar desde un solo hilo

Tengo una aplicación de botella de python, que utiliza hilos. debido al hecho de que estoy usando monkey.patch , los subprocesos estaban bloqueando la ejecución de la aplicación (un cuadro de diálogo activado desde un subproceso estaba bloqueando las rutas de la botella para que no respondiera al cliente, hasta que se cerró). Una pequeña […]

¿Cómo pasar la IP remota a un servicio proxy? – Nginx

Estoy ejecutando un servicio en localhost a 127.0.01:8000 y estoy usando esto usando un proxy proxy_pass http://127.0.0.1:8000; El problema es que necesito pasar la dirección IP del usuario al servicio. ¿Algunas ideas?

Python gevent No veo a Monkey parcheado el archivo predeterminado abrir / leer / escribir / cerrar, cómo hacer io de archivo en gevent async

En el parche de gevent monkey, no vi nada sobre el funcionamiento del objeto de archivo predeterminado. ¿Cómo puedo usar la lectura / escritura de archivos asíncronos en progtwigs basados ​​en gevent?

Conexión SSL de Python “EOF ocurrió en violación del protocolo”

Estoy usando la tarea Django Celery para conectarme a la API de Facebook Graph con las solicitudes lib utilizando Gevent. El problema al que me estoy ejecutando constantemente es que de vez en cuando me sale EOF en violación de la excepción del protocolo. He buscado alrededor y varias fonts ofrecen soluciones diferentes, pero ninguna […]

¿Por qué es gevent-websocket síncrono?

Estoy jugando con gevent y websockets. Este es un servidor de eco simple: from gevent.pywsgi import WSGIServer from geventwebsocket.handler import WebSocketHandler from gevent import sleep from datetime import datetime def app(environ, start_response): ws = environ[‘wsgi.websocket’] while True: data = ws.receive() print(‘{} got data “{}”‘.format( datetime.now().strftime(‘%H:%M:%S’), data)) sleep(5) ws.send(data) server = WSGIServer((“”, 10004), app, handler_class=WebSocketHandler) server.serve_forever() […]

¿Cómo puedo agrupar conexiones usando psycopg y gevent?

El estado de los documentos de psycopg: “Las conexiones de Psycopg no son seguras para subprocesos verdes y no pueden ser utilizadas simultáneamente por diferentes subprocesos verdes. Intentar ejecutar más de un comando a la vez con un cursor por subproceso dará como resultado un error (o un interlocking en las versiones antes de 2.4.2). […]

Diferencias de rendimiento al utilizar coroutines vs threading.

Hace unos días hice una pregunta en SO sobre cómo ayudarme a diseñar un paradigma para estructurar múltiples solicitudes HTTP Aquí está el escenario. Me gustaría tener un sistema multi-productor, multi-consumidor. Mis productores rastrean y raspan algunos sitios y agregan los enlaces que encuentra en una cola. Dado que rastrearé varios sitios, me gustaría tener […]

¿De qué manera son asíncronas las órdenes verdes?

He estado usando la biblioteca de solicitudes de Python por algún tiempo, y recientemente tuve la necesidad de hacer una solicitud de forma asíncrona, lo que significa que me gustaría enviar la solicitud HTTP, que mi hilo principal continúe ejecutándose y que se llame a una callback cuando Solicitar devoluciones. Naturalmente, fui conducido a la […]