Django如何热加载Uwsgi每个工人的单例值?
我想热重新加载我的服务器,我有一个单例对象,我想更改一些值并对每个工作人员生效 我尝试使用OpenAPI访问我的编辑,但它只刷新“that”workers singleton,另一个与旧的相同 有没有什么可以指引我的?像Django如何热加载Uwsgi每个工人的单例值?,django,uwsgi,Django,Uwsgi,我想热重新加载我的服务器,我有一个单例对象,我想更改一些值并对每个工作人员生效 我尝试使用OpenAPI访问我的编辑,但它只刷新“that”workers singleton,另一个与旧的相同 有没有什么可以指引我的?像 @uwsgidecorators.postfork 但它只适合新手 例如: @singleton class A: value = get_from_redis() def set_value(self): self.value = 321
@uwsgidecorators.postfork
但它只适合新手
例如:
@singleton
class A:
value = get_from_redis()
def set_value(self):
self.value = 321
def get_value(self):
return self.value
我的uwsgi.ini
processes = 4
当我调用api时
def get(self, requests, format=None):
A().set_value()
然后我的4进程只有1个值被设置为321,但另一个值是123如果你需要在工作人员之间共享数据,你需要将数据存储在外部共享存储中,例如memcached或redis。考虑到性能,我已经将我的数据存储到redis中,我已经更新了,数据非常大,所以我只是使用静态方式首先分配。