[Python-de] select.epoll() vs async framework (PostgreSQL)

Stefan Behnel python-de at behnel.de
Di Jan 23 00:29:36 EST 2018


Sven R. Kunze schrieb am 22.01.2018 um 17:14:
> 1) es gibt einen Steuerprozess, der muss async sein und in dem läuft auch
> die Loop
> 2) blockierender Code ist inkompatibel, da nicht kooperativ, und wird in
> ThreadPools ausgelagert, wo er keinen Schaden anrichten kann
> 
> Stimmt das soweit?

Etwas vereinfacht und in Punkt 2) fehlt noch ein "beispielsweise", aber ja,
kann mensch so sagen.


> Mit anderen Worten, wenn ich in den Projekten bereits einen
> Aufgaben-Verteiler-Prozess (Steuerprozess) habe, dann brauche ich mir um
> asyncio eigentlich keine Gedanken zu machen.

Doch, denn genau das war ja der Aufmacher für diese Diskussion. Es lohnt
sich oft, einen wie auch immer existierenden (async-)Steuerprozess durch
asyncio zu ersetzen, weil dadurch ein ganzer Haufen wiederverwendbarer Code
verfügbar wird.

Du hast von einem sync/async Zwei-Welten-Problem gesprochen, aber das
wirkliche Problem war die Zersplitterung innerhalb der async-Welt. Das ist
das, was asyncio beseitigt.

Stefan


Mehr Informationen über die Mailingliste python-de