选择重载还是子进程

2024-04-23 16:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我想知道重新导入或重新执行模块的最佳方法,因为我有一个web服务器,所有域和应用程序只有一个Apache会话,如果我需要对一个应用程序进行一些更改,重新启动服务器会影响其他应用程序,因此正在寻找调用模块的最佳方法。如果我选择子进程,我需要打印响应,但我不知道这是最安全的通信方式。请以你的经验告诉我哪种方法最好?你知道吗

提前谢谢!你知道吗


Tags: 模块方法服务器web应用程序进程apache方式
1条回答
网友
1楼 · 发布于 2024-04-23 16:28:38

在生产环境中,重新加载模块很少是个好主意;这是一种用于调试的机制。重新加载模块时,模块的内容(类、函数、数据)将被替换,但其他模块对这些项的现有引用不受影响。这对于类尤其重要:内存中的现有对象仍然引用旧类,而重载后生成的对象引用新类。你知道吗

您可能需要考虑另一种选择:从文件加载Python代码并执行它。与完整的子进程相比开销更小,与程序的其余部分的紧密耦合也比模块少。原则上,重新执行和重新加载模块的注意事项是一样的,但是您不太想引用exec的代码,因为这需要更多的工作。你知道吗

相关问题 更多 >