有没有办法在不关闭主程序的情况下部署(库)更新

时间:2011-11-16 08:57:54

标签: python design-patterns multiprocessing

这是一个例子,比方说,我们有两个python文件:

  1. Listener.py - 继续倾听某些输入流
  2. Process.py - 收到数据后,Listener.py将在此处调用函数并将结果存储到文件中。
  3. 假设我必须继续“改进/更改”Process.py,但Listener.py本身非常稳定。是否有可能在不停止监听器的情况下以某种方式重新加载较新版本的Process.py? (这里的要点是,如果我们关闭监听器,我们可能会错过一些传入的数据)

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找reload功能。 因此,您可以检查模块修改时间:

os.path.getmtime(filepath)

然后如果它与之前的check - reload模块不同:

if module_source_is_modified(process):
    process = reload(process)