Können zwei aiohttp.web.Application()
Objekte in demselben Prozess ausgeführt werden, z. an verschiedenen Ports?Mehrere aiohttp Application() läuft im selben Prozess?
Ich sehe eine Reihe von Beispielen für aiohttp Code wie:
from aiohttp import web
app = web.Application()
app.router.add_get('/foo', foo_view, name='foo')
web.run_app(app, host='0.0.0.0', port=10000)
Ich frage mich, ob es eine gleichwertige ist, wo mehrere web.Applications()
können gleichzeitig ausgeführt konfiguriert werden. Etwas wie:
from aiohttp import web
app1 = web.Application()
app1.router.add_get('/foo', foo_view, name='foo')
app2 = web.Application()
app2.router.add_get('/bar', bar_view, name='bar')
# This is the wishful thinking code:
web.configure_app(app1, host='0.0.0.0', port=10000)
web.configure_app(app2, host='0.0.0.0', port=10001)
web.run_apps()
Mein Anwendungsfall ist, dass ich einen vorhandenen Python-Web-Framework, die diese Art der Sache tut, und ich baue einen Prototyp, der in Python 3.6 mit aiohttp analog ist.
Ich verstehe, dass mehrere Python-Server hinter z. nginx (siehe auch http://aiohttp.readthedocs.io/en/stable/deployment.html); das ist nicht das was ich suche. Ich möchte die Möglichkeit von zwei aiohttp Webservern mit der gleichen asyncio Ereignisschleife erforschen, die in demselben Python-Prozess läuft und an zwei verschiedenen Häfen dient.