2015-06-19 23 views
7

Per quanto posso dire, aiohttp è attualmente il riferimento per i server Web costruiti su asyncio. Anche se è un lavoro impressionante, non corrisponde esattamente al mio particolare (particolare) gusto: oltre ad essere un server web, è anche un framework per applicazioni web (con routing e tutto il resto), più l'API è abbastanza classi- pesante.web server leggero asyncio

Preferirei qualcosa che sia solo un server HTTP, che fornisce un'interfaccia minima (fondamentalmente un equivalente WSGI asincrono). Esiste già una cosa del genere?

+0

[asyncio.org] (http://asyncio.org), a cui si è effettivamente collegato nella domanda, viene visualizzato [aiowsgi] (https://aiowsgi.readthedocs.org/en/latest/), che sembra che potrebbe andare bene il conto. – dano

+0

L'avevo visto, ma è piuttosto difficile valutare se si tratti di qualcosa di più di un esperimento: non c'è molta attività sul repository GitHub - che non è necessariamente una cosa negativa, ma una revisione tra pari potrebbe sicuramente aiutare. – AnC

+1

Tieni presente che mettere il blocco WSGI su un server web asincrono può essere problematico. Se la richiesta WSGI viene eseguita nello stesso thread del ciclo asincrono, blocca il ciclo asincrono. Fondamentalmente hai un server WSGi in grado di gestire solo una richiesta alla volta. Per un singolo host/post, sarebbe meglio guardare la "cameriera" se vuoi un'interfaccia WSGI ma alcuni dei vantaggi sottostanti su un server web asincrono. –

risposta

4

Bene, è possibile provare a basso livello aiohttp.server anziché aiohttp.web.

Non ha percorsi, middleware e altre cose di alto livello. ma si deve lavorare con aiohttp astrazioni di basso livello come messaggio, payload e risposta.

+0

Grazie - dato che non sembrano esserci alternative (ancora?), Questa è probabilmente la mia migliore opzione. – AnC