Python Django全局,应用程序范围变量

Python Django全局,应用程序范围变量,python,django,multithreading,Python,Django,Multithreading,我试图设置Django中任何线程都可以访问的全局变量。我知道stackoverflow上有无数关于这个的帖子,每个人都说不要这样做。我正在编写一个web应用程序,它使用Python模块进行一些文件处理。Acora模块根据一些输入数据(字符串)构建一个排序树。构建树的过程需要一些时间,因此我希望在应用程序启动时构建Acora结构,以便在提交文件以进行处理时,Acora结构就可以运行了。如果我能做到这一点,每个要处理的文件将减少30秒 我尝试过几种方法,但对于每个请求,数据都不可用,我认为这是因为每

我试图设置Django中任何线程都可以访问的全局变量。我知道stackoverflow上有无数关于这个的帖子,每个人都说不要这样做。我正在编写一个web应用程序,它使用Python模块进行一些文件处理。Acora模块根据一些输入数据(字符串)构建一个排序树。构建树的过程需要一些时间,因此我希望在应用程序启动时构建Acora结构,以便在提交文件以进行处理时,Acora结构就可以运行了。如果我能做到这一点,每个要处理的文件将减少30秒


我尝试过几种方法,但对于每个请求,数据都不可用,我认为这是因为每个请求都在单独的线程中处理,所以我需要一个跨线程或共享内存解决方案,或者我必须找到Acora以外的其他方法。此外,Acora不能被pickle或序列化,因为它是一个C模块,并且不会向Python公开它的数据。我试过Django cache和cPickle,但运气不佳,因为它们使用Pickle。想法?

将Acora任务完全从Django中拉出。使用Twisted或其他一些事件框架创建一个服务,只要Django有需要处理的文件,它就可以直接或通过消息队列(如芹菜)与之对话