我在uwsgi.ini文件中看到了一个配置
[uwsgi]
socket = 127.0.0.1:3031
chdir = /home/foobar/myproject/
wsgi-file = myproject/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191
我了解每个请求都在不同的进程中提供服务。那么线程是用来做什么的?
由于我今天遇到了一个巨大的问题,所以在这里添加了另一个额外的答案。
共享内存可以在线程之间使用,但不能在进程之间使用。也就是说,如果你有一些模块级别的东西,例如:
# mymodule
mycache = {}
mycache[key] = value
del mycache[key]
...
一个进程中的删除操作不会反映在另一个进程的缓存中。然而,如果只使用一个进程,在一个线程中进行的删除操作将跨越线程持久存在。
因此,如果您正在使用共享内存,有两个选择: