Articles of asynchronous

Asyncio decodifica utf-8 con StreamReader

Me estoy acostumbrando a asyncio y me parece que el manejo de la tarea es bastante bueno, pero puede ser difícil mezclar las bibliotecas async con las bibliotecas tradicionales de io. El problema al que me enfrento actualmente es cómo descodificar correctamente un StreamReader asíncrono. La solución más sencilla es read() trozos de cadenas de […]

El subproceso de C ++ no se detiene en el modo asíncrono de gdb utilizando la secuencia de comandos de python definida por el usuario

Estoy usando gdb 7.4.1 en el destino powerpc incorporado para realizar un análisis en mi progtwig de C ++ de múltiples subprocesos que utiliza pthreads. Mi objective final es escribir gdb con python para automatizar algunas funciones de análisis comunes. El problema es que estoy encontrando alguna discrepancia en el comportamiento cuando ejecuto comandos individualmente […]

Coroutine en Python entre 3.4 y 3.5, ¿Cómo puedo mantener la compatibilidad de las contraseñas?

Estoy desarrollando el framework de chat de Python con asyncio . Pero veo el PEP-492 y hay una nueva syntax, async / await y finalmente se acepta. Me gusta la syntax async / await y quiero usarla. Pero me preocupa la compatibilidad con las contraseñas 3.4. Si uso nueva syntax en mi código, alguien puede […]

¿Cómo funciona la palabra clave await?

Para una co-rutina a continuación dada ( f ), import csv import urllib def f(resp): print(‘Line 1’) yield csv.reader(resp.read().decode(‘utf-8’)) def h(): url = ‘http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download’ resp = urllib.urlopen(url) cr = f(resp) cr = f(resp) asigna un objeto iterador a cr , cr.next() ejecuta la línea 1 y bloquea en la palabra clave de rendimiento. Mi entendimiento […]

Síncrono v / s asíncrono

Estoy tratando de entender el ejemplo básico que se proporciona en la página de introducción de la documentación del tornado. Tiene 2 bloques de código. El síncrono está bien para mí, y lo entiendo. Pero el asíncrono es uno que no puedo entender. Sincrónico from tornado.httpclient import HTTPClient def synchronous_fetch(url): http_client = HTTPClient() response = […]

¿Está `await` en Python3 Cooperative Multitasking?

Estoy tratando de entender las nuevas rutinas asíncronas (introducidas en Python 3.5). En 1997 asistí a un curso en la universidad que cubrió aproximadamente el contenido del libro Modern Operating Systems de Andrew Tanenbaum. De alguna manera, la await en Python3 me recuerda a Cooperative Multitasking . De Wikipedia: La multitarea cooperativa, también conocida como […]

Use asyncio y Tkinter juntos sin congelar la GUI

Quiero usar asyncio en combinación con una GUI tkinter . Soy nuevo en asyncio y mi comprensión de esto no es muy detallada. El ejemplo aquí comienza con 10 tareas al hacer clic en el primer botón. La tarea es simplemente simular el trabajo con un sleep() durante algunos segundos. El código de ejemplo funciona […]

¿Método asíncrono llamado en Python sin crear subprocesos o proceso de bifurcación?

Hace algunos años, (para comparación) las solicitudes de ajax de JavaScript síncronas quedaron en desuso debido a la sobrecarga. Estoy en la siguiente situación: def ssh_network_operation_with_paramiko(string): server_response=Do_some_stuff_with_null_characters_in_string(string) Do_something_with_server_response(server_response) for i in very_very_large_range ssh_network_operation_with_paramiko(i) Básicamente, usar proceso o hilos sería sinónimo de crear una bomba de bifurcación. Entonces, ¿es posible realizar llamadas asíncronas sin crear subprocesos […]

¿Cómo puedo cancelar una tarea asíncrona colgada en un tornado, con un tiempo de espera?

Mi configuración es Python Tornado Server, que procesa tareas de forma asíncrona con un ThreadPoolExecutor . En algunas condiciones, la tarea puede convertirse en un bucle infinito. Con el decorador with_timeout , he logrado detectar la excepción de tiempo de espera y devolver un resultado de error al cliente. El problema es que la tarea […]

Interpretar eventlet.wsgi.server

Tengo este progtwig simple de Python: from eventlet import wsgi import eventlet from eventlet.green import time def hello_world(env, start_response): print “got request” time.sleep(10) start_response(‘200 OK’, [(‘Content-Type’, ‘text/plain’)]) return [‘Hello, World!\n’] wsgi.server(eventlet.listen((”, 8090)), hello_world) Entonces, cuando lo ejecuto y abro http://localhost:8090/ en mi navegador varias veces, la got request obtención solo se imprime después de que […]