希望通过django启动一个在后台一直运行的程序. 无论是通过使用多线程(threading),还是多进程(subprocess, multiprocessing, os.fork),页面都会返回内容,但一直处于继续等待的界面.分析原因是在django中启动线程后除非kill掉启动的线程或者线程自己结束,否则django都会认为还有消息要返回.
于是考虑建立一个daemon,在django启动后与其交互.但如此daemon和django要分开启动比较麻烦.决定让daemon在django启动的过程中启动.方法是将建立daemon人过程放在django 的settings.py中.
很意外,django在启动过程中居然加载了5次settings.py文件,我的daemon也启动了5次.而且一开始我的daemon只是简单的通过pipe进行交互:
之后的控制必须要