【发布时间】:2023-08-21 04:11:01
【问题描述】:
因此,我已经能够从 python 脚本中提取两个非常有价值的特性。第一个是能够从命令行将 python 函数作为服务运行。为简单起见,假设 python 脚本采用命令行参数。大致如下:
import sys
def foo():
return "%s is your last argument!" % sys.argv[-1]
foo()
然后我将通过运行python file.py somearg 全局访问它,此外,我可以编写一个 supervisord 脚本来守护一个脚本并让它在内存中运行。我现在发现自己处于同时需要这两个功能的位置,但我不确定从哪里开始。为了清楚起见,我基本上有以下几点:
if __name__ == "__main__":
big_file = open(slow_loader)
foo(big_file)
理想情况下,一旦它运行,我会将整个big_file 保存在内存中,并能够通过运行类似于原始python file.py somearg 的方法来访问foo 方法,具体取决于big_file。不过,我不确定如何从这里取得进展。
任何帮助,即使它只是指向某些文档的链接,也会非常有帮助。提前,我意识到我可以将它包装在一个浅瓶应用程序中并通过http 请求运行它,但出于保密协议的原因,我需要通过内部 shell 命令运行的东西。
【问题讨论】:
-
是否有可能引入 redis 或 memcached 之类的东西?
-
@dano 我完全可以添加任何外部服务,但不能替换 big_file。从技术上讲,我实际上无法触及
file.py的来源,但我对自省充满信心,一旦主要解决方案出现,我就可以将其应用于此上下文。
标签: python linux unix service daemon