0

我正在开发一个需要用户输入 python 代码才能在我的服务器上执行的 Web 服务(我们检查了代码注入)。我必须导入一个相当大的模块,所以我想确保我没有启动 python 并且每次运行时都从头开始导入模块(大约需要 4-6 秒)。

为此,我计划创建一个 python (3.2) 守护程序,将用户输入代码作为模块导入,执行它,然后删除/垃圾收集该模块。我需要确保该模块完全从 RAM 中消失,因为此过程将持续到服务器重新启动。我读过很多东西说这在 python 中是一件非常困难的事情。

做这个的最好方式是什么?使用 exec 用用户输入代码(用于变量范围)定义一个函数,然后执行该函数并以某种方式删除该函数会更好吗?或者有没有更好的方法来完成我错过的这个过程?

4

1 回答 1

0

您也许可以考虑创建一个 python 守护进程池

他们的目的是满足一个请求,然后死去。

您必须编写一个池管理器,以确保始终有 X 守护进程等待传入请求。(X 是等待守护进程的数量:取决于所需的工作负载)。池管理器必须观察守护进程池并在每次进程完成时启动新实例。

于 2012-07-23T13:58:09.663 回答