2015-06-19 18 views
7

O ile wiem, aiohttp jest obecnie punktem odniesienia dla serwerów internetowych zbudowanych na asyncio. Chociaż jest to imponująca praca, nie pasuje ona do mojego szczególnego (osobliwego) smaku: oprócz tego, że jest serwerem sieciowym, jest także strukturą dla aplikacji internetowych (z routingiem i wszystkim), a API jest dość klasy- ciężki.lekki serwer WWW Asyncio

Wolę coś, co jest tylko serwer HTTP, zapewniając minimalny interfejs (w zasadzie asynchroniczny odpowiednik WSGI). Czy coś takiego już istnieje?

+0

[asyncio.org] (http://asyncio.org), do którego faktycznie linkowałeś w swoim pytaniu, pojawia się [aiowsgi] (https://aiowsgi.readthedocs.org/en/latest/), który wygląda na to, że może pasować do rachunku. – dano

+0

Widziałem to, ale ciężko jest ocenić, czy jest to coś więcej niż eksperyment: na repozytorium GitHub nie ma zbyt wiele aktywności - co niekoniecznie jest złe, ale z pewnością pomogłoby to w recenzowaniu. – AnC

+1

Należy pamiętać, że blokowanie WSGI na serwerze asynchronicznym może być problematyczne. Jeśli żądanie WSGI działa w tym samym wątku, co pętla asynchroniczna, blokuje pętlę asynchroniczną. Zasadniczo masz serwer WSGi, który może obsługiwać tylko jedno żądanie naraz. W przypadku pojedynczego hosta/posta, lepiej byłoby, gdybyś spojrzał na "kelnerkę", jeśli chcesz mieć interfejs WSGI, ale niektóre z podstawowych zalet asynchronicznego serwera WWW. –

Odpowiedz

4

Cóż, możesz spróbować niskiego poziomu aiohttp.server zamiast aiohttp.web.

Nie ma tras, średnich i innych rzeczy o wysokim poziomie. Ale musisz pracować z aiohttp niskopoziomowymi abstrakcjami, takimi jak wiadomość, ładunek i odpowiedź.

+0

Dzięki - biorąc pod uwagę, że nie ma żadnych alternatyw (jeszcze?), Jest to prawdopodobnie moja najlepsza opcja. – AnC