从 NodeJS(在机器#2 中)调用 Python 脚本(在机器#1 中)
Posted
技术标签:
【中文标题】从 NodeJS(在机器#2 中)调用 Python 脚本(在机器#1 中)【英文标题】:Invoke Python script (in machine#1) from NodeJS(in machine#2) 【发布时间】:2021-06-11 10:56:12 【问题描述】:我想从 NodeJS 应用程序(存在于机器#2 中,它是网络托管服务器)调用 Python 脚本(存在于机器#1 中)。请让我知道如何
-
要在 NodeJS 应用程序(机器 #2)中安装哪些包以及使用要传递给机器 #1 的某些参数调用哪些 API/RPC
什么服务必须在机器#1 中运行,以便机器#1 接受来自机器#2 的调用命令。我运行什么命令来调用 Python 脚本
注意:我假设 Machine#1 的要求必须是静态 IP 地址,NodeJS 应用程序始终可以通过静态 IP 地址调用。
【问题讨论】:
【参考方案1】:如果你在你的机器上运行 ssh,我会用 SSH 来做。假设您不需要管道。您可以在节点中使用 spawn 或 exec 来运行类似
ssh user@10.0.0.1 "python /path/to/script.py"
【讨论】:
【参考方案2】:您只需在 #1 机器上创建一个烧瓶应用程序 并将其作为服务运行
然后当你想用 nodeJS 从机器#2 调用函数时 您可以向机器 #1 发送 GET 或 POST 请求 然后 flask 将运行你想要的函数或脚本并将结果返回给机器#2
https://flask.palletsprojects.com
https://nodejs.dev/learn/make-an-http-post-request-using-nodejs
【讨论】:
以上是关于从 NodeJS(在机器#2 中)调用 Python 脚本(在机器#1 中)的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS中的Websockets。从服务器端WebSocket客户端调用WebSocketServer