Python 如何远程执行客户端功能?

Python 如何远程执行客户端功能?,python,exec,rpc,Python,Exec,Rpc,我有一个封闭、安全的网络。我想把我的代码传递给executor并在那里执行它。我希望能够看到它的控制台输出(进度/信息),而它将这样做 假设我们有一个在当前客户机代码中不带参数的函数,那么如何在服务器上执行它并返回输出呢?有这样的用例的Python框架吗?您没有指定足够的细节来给出详细的答案。例如,你的系统的规模是多少,应该有多少“执行者”,如果它应该自动伸缩等等 然而,对于你所要求的,应该能够为你做到这一点。它允许您在远程计算机上调用成员函数,就好像它是本地的一样。它确实需要您在executo

我有一个封闭、安全的网络。我想把我的代码传递给executor并在那里执行它。我希望能够看到它的控制台输出(进度/信息),而它将这样做


假设我们有一个在当前客户机代码中不带参数的函数,那么如何在服务器上执行它并返回输出呢?有这样的用例的Python框架吗?

您没有指定足够的细节来给出详细的答案。例如,你的系统的规模是多少,应该有多少“执行者”,如果它应该自动伸缩等等

然而,对于你所要求的,应该能够为你做到这一点。它允许您在远程计算机上调用成员函数,就好像它是本地的一样。它确实需要您在executor节点上运行一个小型服务器进程

如果在executor中捕获
sys.stdout
,并将行作为生成器结果生成,则也可以轻松地将输出流传输到调用应用程序,因为Pyro4支持远程生成器。不过,如果不希望执行器出现不必要的延迟,您可能需要缓冲输出


编辑:即将发布的Pyro 4.62版本引入了对“cloudpickle”序列化程序的支持。Pyro4长期以来一直支持“dill”序列化程序。这两种方法都允许您将函数本身发送到服务器。这意味着,一旦有一个(非常小的)服务器运行并接受一个可调用对象,您就可以向它发送任何您想远程执行的内容。

您没有指定足够的详细信息来给出详细的答案。例如,你的系统的规模是多少,应该有多少“执行者”,如果它应该自动伸缩等等

然而,对于你所要求的,应该能够为你做到这一点。它允许您在远程计算机上调用成员函数,就好像它是本地的一样。它确实需要您在executor节点上运行一个小型服务器进程

如果在executor中捕获
sys.stdout
,并将行作为生成器结果生成,则也可以轻松地将输出流传输到调用应用程序,因为Pyro4支持远程生成器。不过,如果不希望执行器出现不必要的延迟,您可能需要缓冲输出


编辑:即将发布的Pyro 4.62版本引入了对“cloudpickle”序列化程序的支持。Pyro4长期以来一直支持“dill”序列化程序。这两种方法都允许您将函数本身发送到服务器。这意味着,一旦有一个(非常小的)服务器运行并接受一个可调用对象,您就可以向它发送任何您想远程执行的内容。

您需要阅读David Beazley的(选择演示幻灯片)。请特别注意第7部分。对于输出,请注意第5部分,其中他讨论了“跟踪文件”。您需要阅读David Beazley的(选择演示幻灯片)。请特别注意第7部分。对于输出,请注意第5部分,其中他讨论了“跟踪文件”。