1

我正在使用 Django 1.5(带有 nginx 和 uwsgi)和许多工作人员,但是在让所有工作人员都可以访问最新信息时遇到了问题。

也就是说,当我使用 django admin 创建一个对象时,它会为该工作人员正确添加,但其他工作人员可能在一段时间内无法访问它(我注意到最长的是一整天)。所以,我可以创建一个对象,但它有时只会出现在管理员(和网站)中。如果我只换成一个工人,一切都会按预期开始工作。

我怀疑这与数据库事务有关,因为我相信每个工作人员都会有自己的数据库游标。我尝试添加'ATOMIC_REQUESTS': True到我的数据库配置和'django.middleware.transaction.TransactionMiddleware',我的MIDDLEWARE_CLASSES,但问题仍然存在。

任何人都可以阐明发生了什么,以及我如何解决这个问题?

编辑:工人是 uwsgi 工人,开始使用exec uwsgi --master --die-on-term --emperor /etc/uwsgi/vassals,其中/etc/uwsgi/vassals/mysite.ini可用以下(修剪)内容

[uwsgi]
workers=1
; [...]
4

0 回答 0