Tornado is groot, als je asynchroon kunt coderen ...
Greenlet is cool om asynchrone programma's met behulp van micro-threads.
Hoe zit het met een mix van de twee? Wij zijn er trots op Tornalet presenteren.
Howto
Om tornalet installeren, kunt u deze repository clonen of gebruik PyPI:
easy_install tornalet
pip tornalet installeren
Om tornalet mogelijk te maken, voorvoegsel elke methode van uw handler de decorateur @ tornalet.tornalet.
Versieren dan met tornalet.asyncify elk van uw blokkerende functie. Dit zal uw functie asynchroon te maken.
Voorbeeld
import tornalet
import tornado.web
import willekeurige
URL = "http://chucknorrisfacts.fr/fortunes/fortunes.txt"
klasse MainHandler (tornado.web.RequestHandler):
& Nbsp; @ tornalet.tornalet
& Nbsp; def krijgen (zelf):
& Nbsp; http_client = tornado.httpclient.AsyncHTTPClient ()
& Nbsp; # Hier is de magie: deze lijn is niet synchroon.
& Nbsp; feiten = tornalet.asyncify (http_client.fetch) (URL) .body.split ("%")
& Nbsp; feite = feiten [random.randrange (len (feiten))]
& Nbsp; self.write ("% s"% (feit,))
...
Eisen
- Python
Reacties niet gevonden