Flask werkzeug Dispatchermidware具有单独的端口
我正在尝试将我拥有的几个flask API组合到一个应用程序中,这样可以更容易地为开发人员部署和设置,而不需要运行三个单独的应用程序。当前,每个api驻留在一个单独的端口上。我正在尝试使用DispatcherMiddle软件来运行这三个应用程序,但到目前为止,似乎只能使用如下前缀Flask werkzeug Dispatchermidware具有单独的端口,flask,werkzeug,Flask,Werkzeug,我正在尝试将我拥有的几个flask API组合到一个应用程序中,这样可以更容易地为开发人员部署和设置,而不需要运行三个单独的应用程序。当前,每个api驻留在一个单独的端口上。我正在尝试使用DispatcherMiddle软件来运行这三个应用程序,但到目前为止,似乎只能使用如下前缀 from frontend import app as frontend from TestApi import app as test from DevApi import app as dev from werk
from frontend import app as frontend
from TestApi import app as test
from DevApi import app as dev
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware
app = DispatcherMiddleware(frontend, {
'/test': test,
'/dev': dev
})
run_simple('localhost', 4000, app, use_reloader=True)
现在我所有的服务都在4000上运行,但我想要的是这样的
from frontend import app as frontend
from TestApi import app as test
from DevApi import app as dev
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware
app = DispatcherMiddleware(frontend, {
':5000': test,
':6000': dev
})
#frontend runs on 4000, test runs on 5000, dev runs on 6000
run_simple('localhost', 4000, app, use_reloader=True)
我只是在要求一些毫无意义的东西,或者有没有办法使用这个或其他设置来完成 我得出的结论是,这是一个愚蠢的想法,非常脆弱,需要很多不必要的复杂性。相反,我选择编写一个bash脚本,将所有应用程序作为各自端口上的单独wsgi实例启动。关于应用程序调度的Flask文档中没有关于基于端口的调度的提示。正如您提到的,您可以简单地启动单独的wsgi实例,据我所知,这是使用Werkzeug的唯一可能的方法
参考资料:虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的评论-以前从未对stackoverflow发表过评论。将来一定会考虑这一点,尽管如此,我认为这个链接非常有用,因为它帮助我自己寻找答案。