Python编译器调用另一个Python编译器来执行脚本(从一台独立的机器到另一台机器执行脚本)
我知道问题的标题很奇怪 我有两个虚拟机。第一台机器的资源有限,而第二台机器和普通机器一样有足够的资源。第一台机器将接收来自外部设备的信号。此信号将触发python编译器执行脚本。脚本很大,第一台机器没有足够的资源来执行它。 我可以将脚本复制到第二台机器上运行它,但是我不能让第二台机器接收外部信号。我想知道是否有办法让第一台机器上的编译器(一旦接收到外部信号)调用第二台机器上的编译器,从而让第二台机器上的编译器执行脚本?因此,第二个编译器应该使用第二个机器资源。请检查所附图片。 假设两台机器之间建立了连接,并且它们可以看到对方,并且第二台机器具有脚本的副本。我只需要将(执行)传递给第二台机器并使其使用自己的资源的命令。 要做到这一点,您应该研究体系结构 您可以通过在每台机器之间使用和发送服务器请求,或者类似的方式来实现这一点,这将允许您在机器之间创建“桥梁”,并在它们之间调用函数(似乎您更感兴趣)。Python编译器调用另一个Python编译器来执行脚本(从一台独立的机器到另一台机器执行脚本),python,Python,我知道问题的标题很奇怪 我有两个虚拟机。第一台机器的资源有限,而第二台机器和普通机器一样有足够的资源。第一台机器将接收来自外部设备的信号。此信号将触发python编译器执行脚本。脚本很大,第一台机器没有足够的资源来执行它。 我可以将脚本复制到第二台机器上运行它,但是我不能让第二台机器接收外部信号。我想知道是否有办法让第一台机器上的编译器(一旦接收到外部信号)调用第二台机器上的编译器,从而让第二台机器上的编译器执行脚本?因此,第二个编译器应该使用第二个机器资源。请检查所附图片。 假设两台机器之间建
nameko
示例:
机器2(资源密集型脚本的执行者):
从nameko.rpc导入rpc
类内容(对象):
@rpc
def示例(自我):
return“功能在机器2上运行”
您可以通过Nameko shell运行上述脚本,如文档中所述
机器1:
从nameko.standalone.rpc导入ClusterRpcProxy
#这是机器2将要运行的amqp服务器。
配置={
“AMQP_URI”:AMQP_URI#例如。“pyamqp://guest:guest@“本地主机”
}
将ClusterRpcProxy(配置)作为群集\u rpc:
cluster_rpc.Stuff.example()#函数在计算机2上运行。
这里有更多信息。您应该研究实现这一点的体系结构
您可以通过在每台机器之间使用和发送服务器请求,或者类似的方式来实现这一点,这将允许您在机器之间创建“桥梁”,并在它们之间调用函数(似乎您更感兴趣)。nameko
示例:
机器2(资源密集型脚本的执行者):
从nameko.rpc导入rpc
类内容(对象):
@rpc
def示例(自我):
return“功能在机器2上运行”
您可以通过Nameko shell运行上述脚本,如文档中所述
机器1:
从nameko.standalone.rpc导入ClusterRpcProxy
#这是机器2将要运行的amqp服务器。
配置={
“AMQP_URI”:AMQP_URI#例如。“pyamqp://guest:guest@“本地主机”
}
将ClusterRpcProxy(配置)作为群集\u rpc:
cluster_rpc.Stuff.example()#函数在计算机2上运行。
这里有更多。嗯,解决这个问题有很多方法 如果您想要一个纯python的解决方案,您可以签出
- 迪皮
- 或者达斯克李>
- 斯劳姆。SLURM基本上是一种将多台计算机串成一台“超级计算机”的方法李>
- 烧瓶是一种简单、轻便的解决方案李>
还有许多其他方法没有提到。例如,您可以导出NFS(netowrk文件存储),让一台计算机将文件放入共享文件夹,另一台计算机对该文件执行操作。我相信还有很多其他人为的方法来完成这项任务:)。如果您愿意,我很乐意详细介绍一种特定的方法。嗯,有很多方法可以解决这个问题 如果您想要一个纯python的解决方案,您可以签出
- 迪皮
- 或者达斯克李>
- 斯劳姆。SLURM基本上是一种将多台计算机串成一台“超级计算机”的方法李>
- 烧瓶是一种简单、轻便的解决方案李>
还有许多其他方法没有提到。例如,您可以导出NFS(netowrk文件存储),让一台计算机将文件放入共享文件夹,另一台计算机对该文件执行操作。我相信还有很多其他人为的方法来完成这项任务:)。如果您愿意的话,我很乐意详细介绍一个特定的方法。编译器在这里不是合适的词,至少CPython是在CPython运行时的解释器上执行的。在任何情况下,您似乎在问如何从另一个Pyt执行Python进程