Tornado

Sagteware kiekie:
Tornado
Sagteware besonderhede:
Weergawe: 4.3 Opgedateer
Upload datum: 10 Dec 15
Ontwikkelaar: Facebook
Lisensie: Gratis
Populariteit: 144

Rating: 2.7/5 (Total Votes: 3)

In die begin Facebook is gebou met behulp van PHP en MySQL, maar soos die verkeer en die grootte van die netwerk verhoog het, so het die vereistes vir 'n beter en vinniger lewering van inhoud in real-time.

Dit het gelei die Facebook-span om te delf in ander tegnologie en tale buite PHP, en die maatskappy gou het dit visier om Python, 'n programmeertaal wat gebruik word deur Google die soektog te bou.

Die pogings van die span gelei het tot 'n produk, genaamd Tornado, 'n Python raamwerk wat spesifiek ontwerp is om te werk met rou HTTP verbindings in 'n eenvoudige asinchrone nie-blokkeer manier.

Tornado is geïnspireer deur ander instrumente soos Web.py en Google se webapp, maar ook ekstra funksies as well.

In die middel van die hele raamwerk woon 'n kragtige HTTP-bediener, wat versterk word deur 'n suite van modules vir die hantering van i18n inhoud, string manipulasie, uitset geslag asynchrone bedrywighede, derde party-kode, logs, en so aan.

Behalwe Cassandra , Tornado is een van die mees suksesvolle oop verkry aansoeke Facebook se datum.

Wat is nuut in hierdie release :

  • New modules: tornado.locks en tornado.queues

Wat is nuut in die weergawe 4.2:

  • New modules: tornado.locks en tornado.queues

Wat is nuut in die weergawe 4.1:

  • Die tornado.web.stream_request_body versierder kan groot lêers te wees foto met beperkte geheue gebruik.
  • Coroutines is nou vinniger en word op groot skaal in die hele Tornado self. Meer metodes nou terugkeer Futures, insluitend die meeste iostream metodes en RequestHandler.flush.
  • Baie gebruiker geneutraliseer metodes is nou toegelaat om 'n toekoms vir die terugkeer vloei beheer.
  • HTTP-verwante kode is nou verdeel tussen die tornado.httpserver, tornado.simple_httpclient en tornado.wsgi modules, maak ondersteuning vir eienskappe soos chunked en gzip encoding meer konsekwent. HTTPServer gebruik nou nuwe afgevaardigde koppelvlakke omskryf in tornado.httputil benewens sy ou enkel-terugbel koppelvlak.
  • New module tornado.tcpclient TCP verbindings met nie-DNS, SSL handshaking, en ondersteuning vir IPv6 skep.

Wat is nuut in die weergawe 3.2.2:

  • Die XSRF teken is nou geïnkripteer met 'n ewekansige masker op elke versoek. Dit maak dit veilig is om in saamgeperste bladsye sonder om kwesbaar vir die bres aanval. Dit geld vir die meeste programme wat beide die xsrf_cookies en gzip opsies gebruik (of gzip deur 'n proxy toegepas).
  • As Tornado 3.2.2 is loop op dieselfde tyd as die ouer weergawes op dieselfde domein, daar is 'n paar potensiaal vir probleme met die verskillende weergawes koekie. Die Aansoek instelling xsrf_cookie_version = 1 kan gebruik word vir 'n oorgangstydperk aan die ouer koekie formaat op nuwer bedieners te genereer.
  • tornado.platform.asyncio is nou verenigbaar met trollius weergawe 0,3.

Wat is nuut in die weergawe 3.2.1:

  • Die getekende waarde formaat wat gebruik word deur RequestHandler.set_secure_cookie en RequestHandler.get_secure_cookie verander om meer veilig te wees. Dit is 'n ontwrigtende verandering. Die secure_cookie funksies te neem nuwe weergawe parameters om oorgange tussen koekie formate ondersteun.
  • Die nuwe koekie formaat is vasgestel kwesbaarheid wat teenwoordig mag wees in programme wat verskeie koekies waar die naam van die een koekie is 'n voorvoegsel van die naam van 'n ander te gebruik.
  • Om ontwrigting te beperk, sal die koekies in die ouer-formaat by verstek aanvaar word totdat hulle verval. Aansoeke wat kwesbaar kan wees kan alle koekies in die ouer formaat verwerp deur verby min_version = 2 tot RequestHandler.get_secure_cookie.

Wat is nuut in die weergawe 3.2:

  • New aansoek opstel default_handler_class kan gebruik word om vinnig 'n persoonlike 404 bladsye.
  • New aansoek instellings autoreload, compiled_template_cache, static_hash_cache en serve_traceback gebruik kan word om individuele aspekte van debug modus te beheer.
  • Nuwe metodes RequestHandler.get_query_argument en RequestHandler.get_body_argument en nuwe eienskappe HTTPRequest.query_arguments en HTTPRequest.body_arguments toegang tot argumente toelaat sonder vermenging dié van die navraag string met dié van die lyf.
  • RequestHandler.decode_argument en verwante metodes nou te samel 'n HTTPError (400) in plaas van UnicodeDecodeError toe die argument kan nie ontsyfer.
  • RequestHandler.clear_all_cookies nou aanvaar domein en die pad argumente, net soos clear_cookie.
  • Dit is nou moontlik om hanteerders spesifiseer by die naam wanneer die klas URLSpec.
  • Aansoek aanvaar nou 4-tuples die parameter naam (wat voorheen vereis bou van 'n URLSpec voorwerp in plaas van 'n tuple) te gee.
  • Vaste 'n verkeerde boodskap as hanteerder metodes terugkeer 'n ander een of 'n Toekomstige waarde.
  • Uitsonderings sal nie meer twee keer aangeteken wanneer die gebruik van beideasynchronous en @ gen.coroutine.

Wat is nuut in die weergawe 3.1:

  • Baie verwysing siklusse is opgebreek gedurende die pakket, sodat vir meer doeltreffende vullisverwydering op CPython.
  • swye paar log boodskappe wanneer verbindings oopgemaak en onmiddellik gesluit (dws hawe skanderings), of ander situasies wat verband hou met geslote verbindings.
  • Verskeie klein speedups: HTTPHeaders geval normalisering, UIModule proxy voorwerpe, precompile paar regexes
  • .

Wat is nuut in die weergawe 3.0.2:

  • tornado.auth.TwitterMixin nou standaard weergawe 1,1 van die Twitter API, in plaas van weergawe 1.0 wat word gestaak op 11 Junie Dit maak ook gebruik nou HTTPS wanneer dit aan Twitter.
  • Vaste 'n potensiële geheugenlek met 'n lang ketting van gen.coroutine of gen.engine funksies.

Wat is nuut in die weergawe 3.0:

  • Die `` callback`` argument baie asynchrone metodes is nou opsioneel en hierdie metodes terugkeer 'n `.Future`. Die `tornado.gen` module verstaan ​​nou` `Futures`` en hierdie metodes kan direk gebruik word sonder 'n` .gen.Task` wrapper.
  • New funksie `.IOLoop.current` terug die` .IOLoop` wat is wat loop op die huidige draad (teenoor `.IOLoop.instance`, wat 'n spesifieke draad se (gewoonlik die belangrikste draad se) IOLoop terug.
  • New klas `tornado.netutil.Resolver` bied 'n koppelvlak tot asinkrone DNS resolusie.
  • New klas `tornado.process.Subprocess` vou` subprocess.Popen` met `.PipeIOStream` toegang tot die lêer beskrywers van die kind.
  • `.IOLoop` het nou 'n statiese` instel & # x3c; .Configurable.configure & # x3e; `metode soos die een op` .AsyncHTTPClient`, wat gebruik kan word om 'n `.IOLoop` implementering anders as die kies verstek. * `.IOLoop` Kan nou opsioneel gebruik 'n monotone klok indien beskikbaar.

Wat is nuut in die weergawe 2.4.1:

  • Vaste 'n geheugenlek in tornado.stack_context dit was veral geneig met 'n lang loop @ gen.engine funksies.
  • tornado.auth.TwitterMixin werk nou op Python 3.
  • Vaste 'n fout in wat IOStream.read_until_close met 'n streaming terugbel sou soms slaag die laaste stuk van data om die finale terugbel in plaas van die streaming terugbel.

Wat is nuut in die weergawe 2.4:

  • Vaste Python 3 foute in tornado.auth, tornado.locale en tornado.wsgi.
  • OAuthMixin aanvaar nou & quot; OOB & quot; as 'n callback_uri.
  • OpenIDMixin ook nou terug die claimed_id veld vir die gebruiker.
  • tornado.platform.twisted afsluit volgorde is nou meer versoenbaar is.
  • Die meld opset gebruik word in tornado.options is nou meer verdraagsaam van nie-ascii byte snare.

Wat is nuut in weergawe 2.3:

  • `tornado.httpclient.HTTPClient` ondersteun nou dieselfde constructor navraag argumente as `AsyncHTTPClient`.
  • Die `` max_clients`` navraag argument `AsyncHTTPClient.configure` werk nou.
  • `tornado.simple_httpclient` ondersteun nou die` `OPTIONS`` en` `PATCH`` HTTP metodes.
  • `tornado.simple_httpclient` is beter oor die sluiting van sy voetstukke plaas van om hulle vir vullisverwydering.
  • `tornado.simple_httpclient` korrek bevestig SSL sertifikate vir URLs wat IPv6 literals (Hierdie fout geraak Python 2,5 en 2,6).
  • `tornado.simple_httpclient` nie meer sluit basiese auth geloofsbriewe in die` `Host`` kop wanneer daardie inligting word verkry uit die URL.
  • `tornado.simple_httpclient` nie meer verander die oproeper verskaf kop woordeboek, wat toe volgende aansture probleme veroorsaak.
  • `tornado.curl_httpclient` ondersteun nou kliënt SSL sertifikate (met behulp van dieselfde` `client_cert`` en` `client_key`` argumente as` tornado.simple_httpclient`.

Wat is nuut in die weergawe 2.2.1:

  • Security fixes:
  • `tornado.web.RequestHandler.set_header` nou behoorlik sanitizes insetwaardes te beskerm teen kop inspuiting, reaksie verdeel, ens (dit was nog altyd probeer om dit te doen nie, maar die tjek was verkeerd). Let daarop dat wegwysbladsye, die mees waarskynlike bron van sulke foute, word beskerm deur 'n aparte tjek in `RequestHandler.redirect`.
  • Bug fixes:
  • Gekleurde meld opset in `tornado.options` versoenbaar is met Python 3.2.3 (en 3,3).

Wat is nuut in weergawe 2.2:.

  • bygewerk en uitgebrei WebSocket ondersteuning
  • Verbeterde verenigbaarheid in die Twisted / Tornado brug.
  • foute Sjabloon nou genereer beter stapel spore.
  • Beter hantering van uitsonderings in `tornado.gen`.

Wat is nuut in die weergawe 2.1.1:

  • Bug fixes:
  • Vaste hantering van gesluit bande met die `` epoll`` (dws Linux) `` IOLoop``. Voorheen kon gesluit verbindings gesluit te vroeg, wat die meeste gemanifesteer as & quot; Stroom is gesluit & quot; uitsonderings in `` SimpleAsyncHTTPClient``.
  • Vaste 'n saak waarin chunked antwoorde kan voortydig gesluit, wat lei tot kapt uitset.
  • `` IOStream.connect`` verslae nou foute meer konsekwent via meld en die noue terugbel (dit beïnvloed bv verbindings localhost op FreeBSD).
  • `` IOStream.read_bytes`` aanvaar weer beide `` int`` en `` long`` argumente.
  • `` PeriodicCallback`` nie meer herhaaldelik loop wanneer `` IOLoop`` iterasies voltooi vinniger as die oplossing van `` time.time () `` (hoofsaaklik 'n probleem op Windows).

Wat is nuut in die weergawe 2.1.0:

  • DigiNotar is verwyder uit die standaard CA sertifikate lêer gebruik word deur `SimpleAsyncHTTPClient`
  • Om 'n paar gevorderde multi-proses scenario's, `` HTTPServer`` het 'n nuwe metode `` add_sockets`` en socket-opening kode is afsonderlik beskikbaar as `tornado.netutil.bind_sockets` fasiliteer.
  • Ondersteuning vir veilige koekies geskryf deur pre-1,0 weergawes van Tornado verwyder is.
  • Windows ondersteuning is verbeter.

Wat is nuut in die weergawe 2.0.0:

  • Groot veranderinge:
  • Sjabloon uitset outomaties ontsnap deur verstek.
  • Die implementering verstek AsyncHTTPClient nou simple_httpclient.
  • Python 3,2 is nou ondersteun.
  • Backwards verenigbaarheid:
  • Sjabloon autoescaping aangeskakel is by verstek. Aansoeke opgradering van 'n vorige vrystelling van Tornado moet óf afskakel autoescaping of hul templates aan te pas om te werk met dit. Vir die meeste aansoeke, die eenvoudigste manier om dit te doen, is om autoescape = Geen slaag om die Aansoek constructor.
  • Aansoeke wat wil voortgaan met behulp curl_httpclient plaas van simple_httpclient kan dit doen deur te bel AsyncHTTPClient.configure (& quot; tornado.curl_httpclient.CurlAsyncHTTPClient & quot;) aan die begin van die proses. Gebruikers van Python 2,5 sal waarskynlik wil hê na curl_httpclient gebruik as simple_httpclient ondersteun net SSL op Python 2,6 +.
  • Python 3 verenigbaarheid betrokke baie veranderinge regdeur die programkode, sodat gebruikers word aangemoedig om hul aansoeke meer deeglik as gewoonlik te toets wanneer opgradering na hierdie weergawe.
  • Ander veranderinge in weergawe 4.1:
  • Templates ondersteun verskeie nuwe riglyne: - {% autoescape ...%} om te ontsnap gedrag te beheer - {% rou ...%} vir unescaped uitset - {% module ...%} vir die roeping UIModules * {% module Sjabloon (pad, ** kwargs)%} kan nou gebruik word om 'n ander sjabloon noem met 'n onafhanklike naamruimte.
  • Alle iostream verifikasie is nou hardloop direk op die IOLoop via add_callback.
  • HTTPServer ondersteun nou IPv6 waar beskikbaar. Om te skakel, slaag familie = socket.AF_INET om HTTPServer.bind ().
  • HTTPClient ondersteun nou IPv6, konfigureerbare via allow_ipv6 = Bool op die HTTPRequest. allow_ipv6 standaard valse op simple_httpclient en ware op curl_httpclient.
  • RequestHandlers kan 'n ander enkodering gebruik as utf-8 vir navraag parameters deur oorheersende decode_argument ().

  • verbeterings
  • Performance, veral vir programme wat gebruik 'n baie IOLoop outs.
  • HTTP OPTIONS metode vereis nie meer 'n XSRF teken.
  • into uitset (RequestHandler.write (dict)) stel nou Content-Type om aansoek / into.
  • ETAG berekening kan nou aangepas word of afgeskakel deur oorheersende RequestHandler.compute_etag.
  • USE_SIMPLE_HTTPCLIENT omgewing veranderlike nie meer ondersteun. Gebruik AsyncHTTPClient.configure plaas.

Wat is nuut in die weergawe 1.2.1:

  • Hierdie weergawe bevat slegs twee klein veranderinge met betrekking tot weergawe 1.2:
  • FacebookGraphMixin is opgedateer om te werk met 'n onlangse verandering aan die Facebook API.
  • Running & quot; setup.py installeer & quot; sal nie meer probeer om outomaties pycurl installeer. Dit is nie goed werk op platforms waar die beste manier om pycurl installeer is via iets soos apt-get plaas van easy_install. Dit is 'n belangrike opgradering as jy met FacebookGraphMixin, maar andersins is dit veilig geïgnoreer word nie.

Wat is nuut in die weergawe 1.2.0:

  • Hierdie release sluit die agteruit-stryd sekuriteit verandering van weergawe 1.1.1.
  • Om deursigtig te vervang tornado.httpclient.AsyncHTTPClient met hierdie nuwe implementering, kan jy die omgewing veranderlike USE_SIMPLE_HTTPCLIENT = 1
  • stel
  • Versoek meld is nou gedoen deur die Aansoek eerder as die RequestHandler. Meld gedrag kan aangepas word deur óf oorheersende Application.log_request in 'n subklas of deur log_function as 'n Aansoek omgewing.

Wat is nuut in die weergawe 1.1.1:

  • Tornado 1.1.1 is 'n agteruit STRYDIGE sekuriteit update dat 'n XSRF kwesbaarheid vasgestel.

Wat is nuut in die weergawe 1.1:

  • Wysigings:
  • RequestHandler.async_callback en verwante funksies in ander klasse is nie meer nodig is in die meeste gevalle (hoewel dit skadeloos om voort te gaan
  • die gebruik van hulle). Uncaught uitsonderings sal nou veroorsaak dat die aanvraag selfs in 'n terugbel gesluit word. As jy nuuskierig hoe dit werk is, sien die nuwe tornado.stack_context module.
  • Die nuwe tornado.testing module bevat ondersteuning vir eenheid toets asynchrone IOLoop-gebaseerde kode.
  • AsyncHTTPClient is herskryf (die nuwe implementering was beskikbaar as AsyncHTTPClient2 in Tornado 1,0; albei name word ondersteun vir agtertoe
  • verenigbaarheid).
  • Die tornado.auth module het 'n aantal updates gehad het, insluitende ondersteuning vir OAuth 2,0 en die Facebook Grafiek API, en die opgradering van Twitter en Google ondersteuning aan OAuth 1.0a.
  • Die websocket module is terug en ondersteun die nuutste weergawe (76) van die websocket protokol. Let daarop dat koppelvlak hierdie module is anders as die websocket module wat verskyn in die pre-1,0 weergawes van Tornado.
  • Nuwe metode RequestHandler.initialize () kan apart in subklasse hantering argumente te vereenvoudig vanaf URLSpecs. Die volgorde van metodes genoem tydens inisialisering gedokumenteer op http://tornadoweb.org/documentation#overriding-requesthandler-methods
  • get_argument () en verwante metodes werk nou aan te trek versoeke bykomend tot POST.
  • Die httpclient module ondersteun nou HTTP gevolmagtigdes.
  • Wanneer HTTPServer is hardloop in SSL af, die SSL handdruk is nou nie-blokkeer.
  • Baie kleiner bug fixes en dokumentasie updates
  • Backwards-verenigbaarheid notas:
  • Terwyl die meeste gebruikers van Tornado moet nie direk met die stack_context module, gebruikers van werker draad poele en soortgelyke konstrukte mag nodig wees om stack_context.wrap gebruik en / of NullContext geheue lekkasies te voorkom.
  • Die nuwe AsyncHTTPClient werk steeds met libcurl weergawe 7.16.x, maar dit presteer beter wanneer beide libcurl en pycurl is ten minste weergawe 7.18.2.
  • OAuth transaksies begin onder die vorige weergawes van die auth module kan nie voltooi word onder die nuwe module. Dit geld slegs vir die aanvanklike proses magtiging; een keer 'n gemagtigde teken uitgereik dat token werk met óf weergawe.

Vereistes :

  • Python 2,6 of hoër

Soortgelyke sagteware

Pomelo
Pomelo

10 Feb 16

Falcon.js
Falcon.js

13 May 15

RIOT.js
RIOT.js

10 Feb 16

Ander sagteware ontwikkelaar Facebook

Real Time Proxy
Real Time Proxy

21 Jul 15

Facebook PHP SDK
Facebook PHP SDK

10 Dec 15

HHVM
HHVM

5 Jun 15

Facebook
Facebook

15 Dec 14

Kommentaar te Tornado

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!