Tornado ist groß, wenn Sie asynchron codieren kann ...
Greenlet ist cool, um asynchrone Programme mit Mikro-Threads zu erstellen.
Wie sieht es mit einer Mischung aus den beiden? Wir sind stolz, Tornalet präsentieren.
Howto
Um tornalet installieren, können Sie dieses Repository zu klonen oder verwenden PyPI:
easy_install tornalet
pip tornalet installieren
Um tornalet ermöglichen, voran jedem Ihres Handler-Methode der Dekorateur @ tornalet.tornalet.
Dann dekorieren mit tornalet.asyncify jede Ihrer Blockierfunktion. Dies wird Ihre Funktion asynchron zu machen.
Beispiel
Import tornalet
Import tornado.web
import Stich
URL = "http://chucknorrisfacts.fr/fortunes/fortunes.txt"
Klasse MainHandler (tornado.web.RequestHandler):
& Nbsp; @ tornalet.tornalet
& Nbsp; def bekommen (Selbst-):
& Nbsp; HTTP_Client = tornado.httpclient.AsyncHTTPClient ()
& Nbsp; # Hier ist die Magie: diese Zeile nicht synchron.
& Nbsp; Fakten = tornalet.asyncify (http_client.fetch) (URL) .body.split ("%")
& Nbsp; Tatsache = Tatsachen [random.randrange (len (Fakten))]
& Nbsp; self.write ("% s"% (Tat))
...
Anforderungen :
- Python
Kommentare nicht gefunden