从 NodeJS在机器#2调用 Python 脚本在机器#1

问题描述

我想从 NodeJS 应用程序(存在于机器#2,即网络托管服务器中)调用 Python 脚本(存在于机器 #1 中)。请让我知道如何

  1. 要在 NodeJS 应用程序(机器 #2)中安装哪些包以及使用要传递给机器 #1 的某些参数调用哪些 API/RPC
  2. 必须在机器 #1 中运行什么服务,机器 #1 才能接受来自机器 #2 的调用命令。我运行哪些命令来调用 Python 脚本

注意:我假设 Machine#1 的要求必须是静态 IP 地址,NodeJS 应用程序始终可以通过静态 IP 地址调用该地址。

解决方法

如果你在你的机器上运行 ssh,我会使用 SSH。假设您不需要管道。您可以在节点中使用 spawn 或 exec 来运行类似

ssh user@10.0.0.1 "python /path/to/script.py"

,

您只需在 Machine #1 上创建一个 Flask 应用程序 并将其作为服务运行

然后当您想使用 nodeJS 从机器 #2 调用函数时 您可以向 Machine #1 发送 GET 或 POST 请求 并且flask 将运行您想要的函数或脚本并将结果返回给机器#2

https://flask.palletsprojects.com

https://nodejs.dev/learn/make-an-http-post-request-using-nodejs