Asynchrone Programmierung mit Python asyncio

Moderne Software verwendet häufig eine verteiltes Design, um die Architekturziele zu erreichen. In einem verteilten System werden Informationen über ein Netzwerk gesendet oder auf eine Festplatte geschrieben. Werden solche Lese-/Schreibevorgänge synchron ausgeführt, wird gewartet, bis die Daten erfolgreich übertragen wurden, bevor sich die Anwendung weiteren Aufgaben widmen kann. Leider ist die Zeit, in der auf den Abschluss der Lese-/Schreiboperationen gewartet wird, vergeudet, da die CPU in dieser Zeit kein sinnvolle Arbeit verrichten kann.

Asynchroner Code ist in der Lage, Arbeit zu verrichten, während auf den Abschluss von Netzwerk- oder Festplattenoperationen gewartet wird. Daher eignet sich asynchrone Programmierung im Allgemeinen gut für Arbeitslasten, die durch die Lese-/Schreiboperationen begrenzt sind. Dies ist oft bei Webdiensten in verteilten Systemen der Fall, wo viele Daten über das Netzwerk gesendet und empfangen werden. Asynchrone Programmierung mit Asyncio kann jedoch auch eine gute Wahl für monolithische Anwendungen sein, zum Beispiel als Alternative zu Multi-Threading oder Multi-Processing.

Nach dieser Schulung werden die Teilnehmer:

  • praktische Erfahrungen mit asynchronen Sprachfunktionen wie async/await und asynchronen Generatoren haben
  • in der Lage sein, asynchrone Programmiermuster unter Verwendung der asyncio-Bibliothek von Python anzuwenden
  • den Unterschied zwischen nebenläufiger und paralleler Ausführung verstehen und wissen, wie man Asyncio-Code parallelisiert
  • die Auswirkungen von asynchronem Code auf das Anwendungsdesign verstehen

Dies ist ein eintägiges Training für drei bis zehn Teilnehmer. Von den Teilnehmern wird erwartet, dass sie über Grundkenntnisse in der Programmierung und dem Testen in Python verfügen. Die bereitgestellten Code-Beispiele und Übungen nutzen asyncio und pytest. Die Kosten für diese Schulung betragen 465 € pro Teilnehmer für einen Präsenzworkshop bzw. 405 € pro Teilnehmer für einen Remote-Workshop.

Was andere sagen

Ein Workshop, der mit der Mystik einer der am häufigsten verwendeten Python-Bibliotheken für asynchrone Programmierung aufräumt.

Der Workshop hat mir sehr gut gefallen, und der Inhalt war klar und gut aufbereitet. Ich hoffe, das können wir mit den Property-Based-Tests wiederholen. Cheers!

Der asyncio-Workshop erklärt in Theorie und praktischen Übungen, wie man mit asyncio nebenläufigen Code erzeugt - einschließlich Tests mit dem pytest-asyncio-Plugin.