gpt4 book ai didi

node.js - 我可以从 Node 调用 WSGI 应用程序吗?

转载 作者:行者123 更新时间:2023-12-03 12:19:22 26 4
gpt4 key购买 nike

我运行一个 Python Flask 服务器,它有一些已注册的路由(参见下面的示例)。一种路由将 HTTP 请求重定向到 WSGI 应用程序。对于我的项目,我切换到 NodeJS 服务器并重新创建了路由,因为 Python 的 GIL 太慢了。

我也正在将 WSGI 路由转换为 NodeJS,但发现对它的支持不多。

WSGI 协议(protocol)描述了一些环境变量,如 wsgi.url_scheme,但在 Google 上我找不到任何关于它的 NodeJS (TS) 示例或引用。

wsgi.url_scheme filetype:py 5000 次点击

wsgi.url_scheme filetype:ts 0 次点击

wsgi.url_scheme filetype:js 0 次点击

Node/TS

app.get("/wsgi", async function (req, res) {
var env = createWsgiEnvironmentFrom(req); <--- what I would need

var p = child_process.spawn('wsgi-test.exe', ["foo"],
{
stdio: [process.stdin, process.stdout, process.stderr],
env: {...env }
});
}
);

python :

@app.route('/wsgi', methods=['POST', 'GET'])
def wsgi(path):
env = request.environ # already WSGI compatible
p = subprocess.Popen(args=["wsgi-test.exe", "foo"],
env=env,
...)

这是有原因的吗?我假设 Node 在扩展传入连接方面更好,所以我很惊讶我看到如此少/没有与 Node 结合的例子

非常感谢任何帮助!

最佳答案

原因很简单,因为WSGI

is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language.

曾经说过,您似乎只需要使用标准和 WSGI 环境变量填充 Object,如 WSGI doc 中所述。 .除了 wsgi.inputwsgi.errors(我不知道 Python 如何在环境变量中传递流,我不知道什么是 类文件对象 是)应该很容易。如果您发现某些环境变量有问题,请随时再次询问。

希望这对您有所帮助。

关于node.js - 我可以从 Node 调用 WSGI 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62527464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com