Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从Django Web服务器在远程服务器上运行脚本_Python_Django - Fatal编程技术网

Python 从Django Web服务器在远程服务器上运行脚本

Python 从Django Web服务器在远程服务器上运行脚本,python,django,Python,Django,我有一个基本的(server1)Django开发web服务器和另一个服务器(server2),它有一个python脚本,可以进行一些科学计算。假设server1具有在server2上运行脚本所需的身份验证。我所要做的就是,单击django网站上的一个按钮,该按钮将运行位于server2上的python脚本 到目前为止,我的想法是 使用某种SSH库来运行脚本并获得响应 在server2上设置RESTAPI以运行脚本 不确定上述想法是否可行,请提出您对此的见解,如果可能,请举一个简单的例子 更多

我有一个基本的(server1)Django开发web服务器和另一个服务器(server2),它有一个python脚本,可以进行一些科学计算。假设server1具有在server2上运行脚本所需的身份验证。我所要做的就是,单击django网站上的一个按钮,该按钮将运行位于server2上的python脚本

到目前为止,我的想法是

  • 使用某种SSH库来运行脚本并获得响应
  • 在server2上设置RESTAPI以运行脚本
不确定上述想法是否可行,请提出您对此的见解,如果可能,请举一个简单的例子


更多信息:Server1和Server2必须是两个独立的服务器,Server1是一个Web服务器,而Server2可以是任何linux虚拟机。此外,来自server2的响应必须发送回server1。

没有理由说ServerOne不能在自身上执行selenium或phantomjs之类的操作来导航到server2上的网站,并单击server2上的按钮,然后使用类似python的子流程模块来执行来自server2的程序

在阅读并尝试了各种论坛建议之后,我在谷歌花了很长时间,终于和帕拉米科安定下来了。这正是我想要的,现在它就像一个符咒

在我的网站上点击一个按钮,运行server1,我请求运行python脚本。python脚本使用paramiko建立到server2的SSH连接,运行必要的命令并将响应写入纯文本文件。此纯文本文件通过django表单作为响应呈现回请求


现在看起来有点脏,还有更多的事情需要研究,比如,如果命令执行时间很长,或者由于某种原因出错,会发生什么。我还没有花时间为所有这些问题找出答案,但最终会找到答案。

你真的需要服务器1获取服务器2脚本响应吗?@David W。是的,在我的情况下,获取响应是至关重要的。@DavidW。如果我不需要回复:你的建议/答案是什么?Server2不是一个网站,而是一个拥有多个科学数据处理脚本的虚拟机。server1只知道脚本在server2上的位置以及执行它的命令。