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.

Python - Running Autobahn|Python asyncio websocket-server in einem separaten Teilprozess oder thread

Anzahl der Antworten 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

python-asyncio TypeError: dict-Objekt kann nicht verwendet werden, 'erwarten' expression

Anzahl der Antworten 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

Python 3.5 async/await-mit echten code-Beispiel

Anzahl der Antworten 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

Asyncio + aiohttp - redis Pub/Sub-und websocket-Lesen/schreiben in Einzel-handler

Anzahl der Antworten 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

Benutzereingabe mit python asyncio.create_server Instanz

Anzahl der Antworten 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

Wie zu warten, für die erstellte Aufgabe create_task() zu vervollständigen?

Anzahl der Antworten 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

asyncio web scraping 101: Holen Sie mehrere urls mit aiohttp

Anzahl der Antworten 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

Fehler 400 in discord.py

Anzahl der Antworten 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,

Asyncio Absturz mit Laufzeitfehler: - Event-Schleife ist Geschlossen

Anzahl der Antworten 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

multiprocessing vs multithreading vs asyncio in Python 3.4

Anzahl der Antworten 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

Senden asyncio Aufgaben, die Schleife läuft in den anderen thread

Anzahl der Antworten 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

Äquivalent von asyncio.Queues mit worker "threads"

Anzahl der Antworten 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

Was ist der richtige Weg, das zu bereinigen, die nach einer unterbrochenen Ereignis-Schleife?

Anzahl der Antworten 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

Welche Art von Problemen (falls vorhanden) wäre es die Kombination von asyncio mit multiprocessing?

Anzahl der Antworten 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

asyncio queue consumer-koroutine

Anzahl der Antworten 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

python asyncio, wie zu erstellen und Abbrechen von Aufgaben aus einem anderen thread

Anzahl der Antworten 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

Tut asyncio unterstützt asynchrones I/O für Datei-Operationen?

Anzahl der Antworten 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

Asyncio-Event-Schleife ist Geschlossen

Anzahl der Antworten 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

Wie Schreibe ich eine Folge von Versprechungen in Python?

Anzahl der Antworten 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) {

Warum haben die meisten asyncio Beispiele verwenden Schleife.run_until_complete()?

Anzahl der Antworten 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.

Wie überprüfen Sie ein SSL-Zertifikat Ablaufdatum mit aiohttp?

Anzahl der Antworten 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

Absturz mit Laufzeitfehler: Dieser event-loop läuft bereits in python

Anzahl der Antworten 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

Asyncio zwei Schleifen, die für verschiedene I/O-Aufgaben?

Anzahl der Antworten 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.

Absturz mit Laufzeitfehler: Es gibt keine aktuellen Ereignis-Schleife in thread im asynchronen + apscheduler

Anzahl der Antworten 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

Was bedeutet “SSLError: [SSL] PEM-lib (_ssl.c:2532)" bedeuten, mit der Python-ssl-Bibliothek?

Anzahl der Antworten 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

Lesen Sie die Datei zeilenweise mit asyncio

Anzahl der Antworten 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

Ordnungsgemäßes Herunterfahren von asyncio Coroutinen

Anzahl der Antworten 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

Kann ein asyncio-event-Schleife im hintergrund ausgeführt, ohne die Aussetzung der Python-interpreter?

Anzahl der Antworten 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,

Python asyncio, futures und den Ertrag aus

Anzahl der Antworten 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

Richtige Weg, um das Herunterfahren asyncio Aufgaben

Anzahl der Antworten 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

so fügen Sie eine coroutine zu einer Laufenden asyncio-Schleife?

Anzahl der Antworten 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

Werte aus Funktionen, die die Ausführung als asyncio Aufgaben

Anzahl der Antworten 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 = [

So erstellen Sie eine event-Schleife mit Rollen Coroutinen läuft es auf ewig?

Anzahl der Antworten 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')

Wie kombiniere ich Python-Asyncos mit Threads?

Anzahl der Antworten 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

So legen Sie das Klassenattribut mit Warten in __init__ fest

Anzahl der Antworten 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

Wie kann ich periodisch eine Funktion mit asyncio ausführen?

Anzahl der Antworten 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

Asyncio.gather vs asyncio.wait

Anzahl der Antworten 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

Python - Wie kann man mehrere Coroutinen gleichzeitig mit asyncio ausführen?

Anzahl der Antworten 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

"Async mit" in Python 3.4

Anzahl der Antworten 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

Wie verwende ich 'yield' innerhalb der asynchronen Funktion?

Anzahl der Antworten 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()

Asynchrone Ausnahmebehandlung in Python

Anzahl der Antworten 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

Wie testet man Python 3.4 Asynchron Code?

Anzahl der Antworten 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):

asyncio.ensure_future vs. BaseEventLoop.create_task vs. einfache Coroutine?

Anzahl der Antworten 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__

Unterschied zwischen Coroutine und Zukunft / Aufgabe in Python 3.5?

Anzahl der Antworten 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

Wenn Sie asyncio verwenden, können Sie alle laufenden Aufgaben beenden, bevor Sie die Ereignisschleife beenden

Anzahl der Antworten 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