Als «python-asyncio» getaggte Fragen

3
Asyncio.gather vs asyncio.wait
asyncio.gatherund asyncio.waitscheinen ähnliche Verwendungszwecke zu haben: Ich habe eine Reihe von asynchronen Dingen, die ich ausführen / warten möchte (nicht unbedingt darauf warten, dass einer fertig ist, bevor der nächste beginnt). Sie verwenden eine andere Syntax und unterscheiden sich in einigen Details, aber es scheint mir sehr unpythonisch, zwei Funktionen …

4
"Feuer und vergiss" Python async / warten
Manchmal muss ein unkritischer asynchroner Vorgang ausgeführt werden, aber ich möchte nicht warten, bis er abgeschlossen ist. In der Coroutine-Implementierung von Tornado können Sie eine asynchrone Funktion "auslösen und vergessen", indem Sie einfach das yieldSchlüsselwort weglassen . Ich habe versucht , zu , um herauszufinden , wie „Feuer & Forget“ …

4
Wie funktioniert Asyncio eigentlich?
Diese Frage ist durch meine andere Frage motiviert: Wie kann man in cdef warten? Es gibt Unmengen von Artikeln und Blog-Posts im Web asyncio, aber sie sind alle sehr oberflächlich. Ich konnte keine Informationen darüber finden, wie die asyncioImplementierung tatsächlich erfolgt und was die E / A asynchron macht. Ich …


4
Unterschied zwischen Coroutine und Future / Task in Python 3.5?
Nehmen wir an, wir haben 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 import ensure_future futures = [] for i in range(5): futures.append(ensure_future(foo(i))) loop = get_event_loop() loop.run_until_complete(wait(futures)) …

4
asyncio.ensure_future vs. BaseEventLoop.create_task vs. einfache Coroutine?
Ich habe mehrere grundlegende Python 3.5-Tutorials zu Asyncio gesehen, die dieselbe Operation in verschiedenen Varianten ausführen. 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__ == '__main__': loop = asyncio.get_event_loop() #futures = [asyncio.ensure_future(doit(i), loop=loop) for i in …

5
So setzen Sie das Klassenattribut mit await in __init__
Wie kann ich eine Klasse mit awaitim Konstruktor oder im Klassenkörper definieren? Zum Beispiel was ich will: import asyncio # some code class Foo(object): async def __init__(self, settings): self.settings = settings self.pool = await create_pool(dsn) foo = Foo(settings) # it raises: # TypeError: __init__() should return None, not 'coroutine' oder …

10
Wie teste ich Python 3.4 Asyncio Code?
Was ist der beste Weg, um Unit-Tests für Code mithilfe der Python 3.4- asyncioBibliothek zu schreiben ? Angenommen, ich möchte einen TCP-Client testen ( SocketConnection): import asyncio import unittest class TestSocketConnection(unittest.TestCase): def setUp(self): self.mock_server = MockServer("localhost", 1337) self.socket_connection = SocketConnection("localhost", 1337) @asyncio.coroutine def test_sends_handshake_after_connect(self): yield from self.socket_connection.connect() self.assertTrue(self.mock_server.received_handshake()) Wenn Sie …

2
Wie erstelle ich gleichzeitige Aufgaben richtig und führe sie mit dem Asyncio-Modul von Python aus?
Ich versuche, zwei gleichzeitig ausgeführte TaskObjekte mit dem relativ neuen asyncioModul von Python 3 richtig zu verstehen und zu implementieren . Kurz gesagt, Asyncio scheint für asynchrone Prozesse und die gleichzeitige TaskAusführung über eine Ereignisschleife ausgelegt zu sein. Es fördert die Verwendung von await(in asynchronen Funktionen angewendet) als rückruffreie Möglichkeit, …

6
Wie kann ich eine Funktion mit Asyncio regelmäßig ausführen?
Ich migriere von tornadonach asynciound kann das asyncioÄquivalent von tornado's nicht finden PeriodicCallback. (A PeriodicCallbackbenötigt zwei Argumente: die auszuführende Funktion und die Anzahl der Millisekunden zwischen den Aufrufen.) Gibt es so ein Äquivalent in asyncio? Wenn nicht, was wäre der sauberste Weg, dies zu implementieren, ohne das Risiko einzugehen, RecursionErrornach …

2
Wie verwende ich Django 3.0 ORM in einem Jupyter Notebook, ohne die asynchrone Kontextprüfung auszulösen?
Django 3.0 fügt Asgi / Async-Unterstützung hinzu und schützt damit synchrone Anforderungen in einem asynchronen Kontext . Gleichzeitig hat IPython gerade die asynchrone / wartende Unterstützung der obersten Ebene hinzugefügt , die anscheinend die gesamte Interpretersitzung innerhalb einer Standardereignisschleife ausführt. Leider bedeutet die Kombination dieser beiden großartigen Zusätze, dass jede …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.