Tag: python-asyncio
Dieses Tag soll für das Python-Paket asyncio verwendet werden, das Mechanismen zum Schreiben von Singlethread-Code bereitstellt. Das asyncio-Paket bietet ab Python 3.4 asynchrone I / O-, Event-Loop-, Coroutinen- und Tasks.
3
Antworten
Ich habe eine tkinter basierende GUI-Programm läuft, in Python 3.4.1. Ich habe mehrere threads laufen im Programm, um JSON-Daten von verschiedenen urls. Ich will hinzufügen, dass einige der WebSocket-Funktionalität in der Lage sein, um zu erlauben, das
2
Antworten
Ich bin mit einem Dritten Modul zum abrufen von Daten aus einer API. Ich wäre einfach gerne asynchron erwarten Sie das Modul, um die Daten zurückzugeben, die gelegentlich dauert einige Sekunden und friert, meine app. Jedoch, wenn
1
Antworten
Gelesen habe ich Tonnen von Artikeln und Tutorials über Python 3.5 async/await Sache. Ich muss sagen, ich bin ziemlich verwirrt, weil einige verwenden get_event_loop() und run_until_complete(), einige verwenden ensure_future(), einige verwenden asyncio.wait(), und einige nutzen call_soon(). Es
2
Antworten
Zur Zeit Spiele ich mit aiohttp zu sehen, wie es ausgeführt wird, als server-Anwendung für mobile app mit websocket-Verbindung. Hier ist ein einfaches "Hello world" - Beispiel (als Kernaussage hier): import asyncio import aiohttp from aiohttp import
1
Antworten
Ich bin das lernen über die python-3 asyncio Bibliothek, und ich habe in ein kleines Problem. Ich versuche zur Anpassung der EchoServer Beispiel aus der python-docs an der Eingabeaufforderung für Benutzer-Eingabe, anstatt nur dem anschließen, was der
1
Antworten
Schrieb ich ein test-Programm zum ausprobieren mit create_task() muss warten, bis die erstellte Aufgabe abgeschlossen ist. Versuchte ich mit loop.run_until_complete() zu warten, bis die Aufgabe abgeschlossen ist, aber es führt zu einem Fehler mit einem traceback. /Users/jason/.virtualenvs/xxx/bin/python3.5
2
Antworten
In der früheren Frage, einer der Autoren der aiohttp freundlicherweise vorgeschlagenen Weg zu Holen Sie mehrere urls mit aiohttp mit dem neuen async with syntax von Python 3.5: import aiohttp import asyncio async def fetch(session, url): with
1
Antworten
Mache ich ein bot mit Discord.py und ich erhalte eine Fehlermeldung, wenn Sie versuchen, eine Nachricht zu schicken mit einem embed. Hier ist die Fehlermeldung die ich bekomme: Traceback (most recent call last): File "C:\Users\pc\Documents\Storage\python\NanoBot\bot.py", line 101,
2
Antworten
Ich versuche, mich eine Reihe von Anfragen (~1000) mithilfe von Asyncio und die aiohttp Bibliothek, doch habe ich ein problem, ich kann nicht finden, viel info auf. Wenn ich diesen code ausführen, mit 10 urls, läuft es
2
Antworten
Fand ich, dass in Python 3.4 gibt es nur wenige verschiedene Bibliotheken für multiprocessing/- threading: multiprocessing vs threading vs asyncio. Aber ich weiß nicht, was man verwenden oder ist das "empfehlenswert". Tun Sie das gleiche, oder sind
1
Antworten
Wie kann ich asynchron legen Sie Aufgaben ausführen, die in einer asyncio Ereignis-Schleife in einem anderen thread läuft? Meine motivation ist die Unterstützung der interaktiven asynchrone Aufgaben im interpreter. Ich kann nicht blocken, die Haupt-REPL-thread. Beispiel Meine
3
Antworten
Ich versuche, herauszufinden, wie port a threaded Programm zu verwenden,asyncio. Ich habe eine Menge code, der synchronisiert um ein paar standard-Bibliothek Warteschleifen, im Grunde wie diese: import queue, random, threading, time q = queue.Queue() def produce(): while
3
Antworten
Ich habe eine Ereignis-Schleife, die läuft, einige co-Routinen als Teil einer command-line tool. Der Benutzer unterbrechen können das tool mit den üblichen Strg + C, an welchem Punkt ich will richtig Aufräumen, nachdem die unterbrochene event-Schleife. Hier
3
Antworten
Als fast jeder ist sich dessen bewusst, wenn Sie zum ersten mal threading in Python gibt es das GIL macht das Leben Elend für die Menschen, die wirklich wollen, zu tun processing in parallel - oder geben
1
Antworten
Ich habe eine asyncio.Protocol Unterklasse empfangen von Daten von einem server. Ich bin die Speicherung dieser Daten (jede Zeile, weil die Daten-aus text) in einer asyncio.Queue. import asyncio q = asyncio.Queue() class StreamProtocol(asyncio.Protocol): def __init__(self, loop): self.loop
4
Antworten
Habe ich ein python-multi-threaded-Anwendung. Ich will laufen ein asyncio-Schleife in einem thread und post calbacks und Coroutinen, um es aus einem anderen thread. Sollte einfach sein, aber ich kann nicht meinen Kopf um die asyncio Zeug. Kam
3
Antworten
Tut asyncio unterstützt asynchrones I/O für Datei-Operationen? Wenn ja, wie kann ich dieses in Python 3.5 mit async/await syntax-code? Ich meine, ich brauche nicht blockierenden Datei-I/O-Funktionalität. Aber in docs fand ich nur Deskriptoren monitoring-Funktionen. Wenn Sie wollen
1
Antworten
Beim ausführen der asyncio hello world code Beispiel in den docs: import asyncio async def hello_world(): print("Hello World!") loop = asyncio.get_event_loop() # Blocking call which returns when the hello_world() coroutine is done loop.run_until_complete(hello_world()) loop.close() Bekomme ich die
2
Antworten
Ist es möglich, zu schreiben, eine Folge von Versprechen (oder Aufgaben) mit nur Python 3.6.1 Standard-Bibliothek? Beispielsweise eine Sequenz von zusagen in JavaScript geschrieben werden als: const SLEEP_INTERVAL_IN_MILLISECONDS = 200; const alpha = function alpha (number) {
1
Antworten
Ging ich durch die Python-Dokumentation für asyncio und ich Frage mich, warum die meisten Beispiele verwenden loop.run_until_complete() im Gegensatz zu Asyncio.ensure_future(). Beispiel: https://docs.python.org/dev/library/asyncio-task.html Scheint es ensure_future würde einen viel besseren Weg zu zeigen, die Vorteile der non-blocking-Funktionen.
3
Antworten
Ich wissen, wie man die Zertifikat-Informationen wie Ablaufdatum mit pyopenssl zum Beispiel, aber ist es möglich, es zu tun mit einem aiohttp response-Objekt? InformationsquelleAutor azmeuk | 2017-05-31
1
Antworten
Ich glaube, ich bin immer diese Fehlermeldung, weil mein code ruft asyncio.get_event_loop().run_until_complete(foo()) zweimal. Einmal von foo() und zweiten mal aus-Funktion aufgerufen, indem foo(). Meine Frage ist dann: warum sollte dies ein problem sein? Warum sollte ich auch
5
Antworten
Ich bin mit Python ist3 Asyncio-Modul zum erstellen einer load-balancing-Anwendung. Ich habe zwei schwere IO Aufgaben: Eine SNMP-polling-Modul, das bestimmt die beste auf den server Einen "proxy-like" - Modul, das gleicht die Petitionen an den ausgewählten server.
2
Antworten
Ich habe eine async-Funktion und müssen laufen mit apscheduller alle N Minuten. Es ist ein python-code unter URL_LIST = ['<url1>', '<url2>', '<url2>', ] def demo_async(urls): """Fetch list of web pages asynchronously.""" loop = asyncio.get_event_loop() # event loop
2
Antworten
Ich bin versucht, eine Verbindung zu einer anderen Partei mit Python 3 asyncio-Modul und bekomme diese Fehlermeldung: 36 sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1) ---> 37 sslcontext.load_cert_chain(cert, keyfile=ca_cert) 38 SSLError: [SSL] PEM lib (_ssl.c:2532) Die Frage ist nur, was der
4
Antworten
Möchte ich Lesen mehrere log-Dateien, wie Sie geschrieben sind, und die Bearbeitung Ihrer Eingabe mit asyncio. Der code muss unter windows laufen. Von dem, was ich verstehe, von der Suche rund um die beiden stackoverflow und den
1
Antworten
Ich bin im Moment Probleme schließen asyncio Coroutinen während der shutdown-STRG-C von einer Anwendung. Der folgende code ist eine abgespeckte version von dem, was ich jetzt haben: #!/usr/bin/env python # -*- coding: UTF-8 -*- import asyncio import
1
Antworten
In der Dokumentation für asyncio gibt zwei Beispiele, wie print "Hello World" alle zwei Sekunden: https://docs.python.org/3/library/asyncio-eventloop.html#asyncio-hello-world-callback https://docs.python.org/3/library/asyncio-task.html#asyncio-hello-world-coroutine Kann ich diese vom Dolmetscher, aber wenn ich das Tue, verliere ich den Zugriff auf den interpreter. Kann ein asyncio-event-Schleife,
1
Antworten
Betrachten Sie das folgende Programm (läuft auf CPython 3.4.0b1): import math import asyncio from asyncio import coroutine @coroutine def fast_sqrt(x): future = asyncio.Future() if x >= 0: future.set_result(math.sqrt(x)) else: future.set_exception(Exception("negative number")) return future def slow_sqrt(x): yield from
1
Antworten
Ich Schreibe ein tool, mit dem verbindet, um eine Anzahl X von UNIX-sockets, einen Befehl sendet und speichert die Ausgabe in der lokalen Datei-system. Es läuft diese alle X Sekunden. Um etwas Aufräumen, wenn das tool erhält
3
Antworten
Wie kann man hinzufügen eines neuen coroutine zu einer Laufenden asyncio-Schleife? Dh. bereits die Ausführung einer Reihe von Coroutinen. Ich denke als workaround könnte man warten, bis bestehende Coroutinen zu vervollständigen, und dann initialisieren Sie eine neue
3
Antworten
Habe ich versucht den folgenden code: import asyncio @asyncio.coroutine def func_normal(): print("A") yield from asyncio.sleep(5) print("B") return 'saad' @asyncio.coroutine def func_infinite(): i = 0 while i<10: print("--"+str(i)) i = i+1 return('saad2') loop = asyncio.get_event_loop() tasks = [
4
Antworten
Um zu verhindern, dass aus dem Kontext-switching, ich will schaffen, eine große Schleife zu dienen, sowohl die Netzwerk-verbindungen und einige Routinen. Hier ist die Implementierung für die normalen Funktionen: import asyncio import time def hello_world(loop): print('Hello World')
2
Antworten
Habe ich erfolgreich gebaut Erholsamen microservice mit Python asyncio und aiohttp, hört auf ein POST-event zum sammeln von Echtzeit-Ereignissen aus verschiedenen Feedern. Anschließend erstellt es eine speicherinterne Struktur, die zum Zwischenspeichern der letzten 24h von Veranstaltungen in
3
Antworten
Wie kann ich definieren, dass eine Klasse await im Konstruktor der Klasse oder Körper? Beispiel für das, was ich will: import asyncio # some code class Foo(object): async def __init__(self, settings): self.settings = settings self.pool = await
4
Antworten
Ich bin der Migration von tornado zu asynciound ich kann nicht finden, die asyncio äquivalent tornado's PeriodicCallback. (Ein PeriodicCallback nimmt zwei Argumente: die Funktion, die ausgeführt wird und die Anzahl der Millisekunden zwischen den aufrufen.) Gibt es
3
Antworten
asyncio.sammeln und asyncio.warten zu haben scheinen ähnlich verwendet: ich habe eine Reihe von asynchronen Dinge, die ich will führen/warten (nicht unbedingt darauf gewartet, einen zu beenden, bevor das nächste beginnt). Sie verwenden eine unterschiedliche syntax, und unterscheiden
2
Antworten
Ich bin mit dem websockets - Bibliothek zum erstellen eines websocket-server in Python 3.4. Hier ist ein einfacher echo-server: import asyncio import websockets @asyncio.coroutine def connection_handler(websocket, path): while True: msg = yield from websocket.recv() if msg is
2
Antworten
Der Getting-Started-docs für aiohttp geben Sie den folgenden client-Beispiel: import asyncio import aiohttp async def fetch_page(session, url): with aiohttp.Timeout(10): async with session.get(url) as response: assert response.status == 200 return await response.read() loop = asyncio.get_event_loop() with aiohttp.ClientSession(loop=loop) as
3
Antworten
Will ich mit generator-Ertrag und asynchronen Funktionen. Ich lese dieses Themaund schrieb folgenden code: import asyncio async def createGenerator(): mylist = range(3) for i in mylist: await asyncio.sleep(1) yield i*i async def start(): mygenerator = await createGenerator()
3
Antworten
Habe ich den folgenden code mithilfe asyncio und aiohttp um asynchrone HTTP-Anfragen. import sys import asyncio import aiohttp @asyncio.coroutine def get(url): try: print('GET %s' % url) resp = yield from aiohttp.request('GET', url) except Exception as e: raise
7
Antworten
Was ist der beste Weg, um zu schreiben von unit tests für den code mit Hilfe der Python 3.4 asyncio Bibliothek? Angenommen ich möchte zum testen einen TCP-client (SocketConnection): import asyncio import unittest class TestSocketConnection(unittest.TestCase): def setUp(self):
3
Antworten
Ich habe gesehen, einige grundlegende Python-3.5-tutorials auf asyncio tun die gleiche operation in verschiedenen Geschmacksrichtungen. In diesem code: import asyncio async def doit(i): print("Start %d" % i) await asyncio.sleep(3) print("End %d" % i) return i if __name__
2
Antworten
Lassen Sie uns sagen, haben wir eine dummy-Funktion: async def foo(arg): result = await some_remote_call(arg) return result.upper() Was ist der Unterschied zwischen: coros = for i in range(5): coros.append(foo(i)) loop = get_event_loop() loop.run_until_complete(wait(coros)) Und: from asyncio
1
Antworten
Ich habe den folgenden code: @asyncio.coroutine def do_something_periodically(): while True: asyncio.async(my_expensive_operation()) yield from asyncio.sleep(my_interval) if shutdown_flag_is_set: print("Shutting down") break Ich diese Funktion ausführen, bis eine vollständige. Das problem tritt beim Herunterfahren ist die Funktion abgeschlossen und alle