Chr*_*rle 26 python import runtime
所以我正在开发一个包含许多模块的相当大的python项目."main"(可运行)模块是一个守护进程(实际上是一个Thrift守护进程),它调用其他模块来实现其实际功能.启动守护程序需要很长时间,因为某些模块具有相当冗长且涉及的初始化过程.
因此,当我启动守护进程时,我等待......让我们说......加载所有内容需要2分钟,这在宏伟计划中并不算太糟糕.然而,对于开发而言,它变成了一个主要的痛苦,因为我需要每次都重新启动守护程序,这已经浪费了我很多时间.
大多数模块只需几秒钟即可加载.理想情况下,我想要做的是检测特定模块中的任何文件何时发生更改,然后重新加载该特定模块.我已经想出了如何重新加载模块,但此时我无法弄清楚如何观察特定模块的变化.请记住,.py
在这种情况下,模块不是单个文件,而是具有__init__.py
5-10个.py
文件的目录,因此我需要检测其中任何文件何时发生更改.
这是项目布局(如果它有任何区别)
project
| -- daemonize.py
| -- main.py
| -- moduleA
| | -- __init__.py
| | -- happy_panda.py
| ` -- sad_panda.py
| -- moduleB
| | -- __init__.py
| | -- takes_forever_to_load.py
| ` -- seriously_get_some_coffee.py
| -- moduleC
| | -- __init__.py
| | -- frequently_changes.py
| | -- reasons_i_hate_my_job.txt
| ` -- home_address_of_moduleB_developer.txt
` -- service.py <-- uses modules A, B, and C
Run Code Online (Sandbox Code Playgroud)
任何想法或建议表示赞赏.
编辑
感谢您的好评.这是我根据建议创建的代码.有一个小错误,其中pyinotify似乎获得了不止一个通知,但这对我来说是一个非常小的问题,所以我不打算修复它.
归档时间: |
|
查看次数: |
11806 次 |
最近记录: |