提问人:Max 提问时间:12/24/2022 更新时间:12/24/2022 访问量:72
如何避免在自由切换mod_python3中缓存?
How to avoid caching in freeswitch mod_python3?
问:
为 freeswitch 开发 python 应用程序 我目前正在为 python 缓存功能而苦苦挣扎。在我的 dailplan 中,我使用 mod_python3 调用 python 脚本。该脚本导入了更多模块,我想在下一次调用中修改和测试这些模块。目前,我唯一的选择是重新启动 freeswitch,这让我有时间喝杯咖啡休息一下。 当我做对了,问题是mod_python在自由切换应用程序的整个运行时间内启动 python 应用程序。因此,一旦应用程序的模块在第一次调用时加载,它们就会保持活动状态。
作为开发人员,您有什么建议或好的解决方案如何处理缓存吗?
一种解决方案是在 fs_cli 上重新加载这个特定的 python mod,但在生产使用时,出于鲁棒性的原因,它似乎是不可加载的:
freeswitch@freeswitch> reload mod_python3
+OK Reloading XML
-ERR unloading module [Module is not unloadable]
-ERR loading module [Module already loaded]
我尝试过的另一种选择是在开始时使用启动脚本中的 importlib 和 reload 函数重新加载模块。但这无济于事,我仍然需要重新启动 freeswitch。
import demoPy.module as module. #demoPy is the project containing a module named module :)
import importlib
importlib.reload(module)
我尝试的最后一个选项是在我的项目文件夹中使用 pyclean 从本地存储中清理缓存文件。这清除了存储中的所有缓存文件,但对mod_python中已加载的模块没有影响。
答: 暂无答案
评论
fsctl shutdown elegant restart