我有芹菜Python工作进程,每天都会重新启动。他们执行Python/Django程序。在长时间运行的进程中重新加载全局Python变量
我已经设置了某些准全局值,该值在整个过程中应该保持在内存中。也就是说,我有一些不经常更改的MySQL查询集,因此一旦进程开始(一个不好的例子是PROFILE = Profile.objects.get(user_id = 5)),就进行一次评估并存储为CONSTANT。
假设我想在芹菜过程中重置此值,而无需执行全新的程序。
该值在多个不同的模块中导入(并使用)。我假设我必须通过sys.modules中的每一个导入CONSTANT并删除/重置密钥?是对的吗?
这似乎很hacky。我通常使用Memcached等外部服务来协调多个进程之间的内存,但每过一段时间,我都认为本地内存优于通过网络调用NoSQL存储。
辉煌,非常有意义。谢谢丹尼尔 – Ben 2012-07-13 17:39:48
帮了我很多,谢谢! – Krishh 2018-03-05 14:15:05