小编Ash*_*she的帖子

Django,Ajax长轮询,Postgresql:空闲事务

我使用ajax long polling和Gevent实现了聊天.要读取,客户端ajax更新视图并等待Gevent.event.wait进行更新.

问题:Django在请求开始时打开的Postgresql事务(获取会话信息)直到请求结束才关闭.那些空闲的事务占用了大量的内存.

在不关闭请求的情况下关闭Postgresql事务最简洁的方法是什么?我正在手动发送request_finished信号,但感觉就像是黑客.

django postgresql django-views long-polling gevent

7
推荐指数
1
解决办法
1327
查看次数

Django,在视图中排除上下文处理器

我有一个带有菜单的网站。为了生成菜单,我需要在数据库中进行一些查询。因此,我创建了一个上下文处理器来在我的所有视图中执行此操作。

我的一些观点实际上只是形式。当我的用户单击某些按钮时,我使用 ajax 获取它们并使用 jquery ui 对话框显示它们。

我无法删除那些相当复杂的表单的所有上下文处理器,我特别需要 auth、static 和 il8n 上下文处理器。但我不想在数据库中进行基于菜单的查询来显示这些表单。

有没有办法在视图中排除上下文处理器?我尝试将变量放入视图中的“request.session”中,然后将其删除并在上下文处理器中返回一个空字典。但这非常糟糕,并且可能存在并发问题。我还可以在上下文处理器中解析“请求”中的 url 并返回一个空字典,但这听起来又像是黑客攻击。

有什么想法或建议吗?谢谢,

python django django-views

1
推荐指数
1
解决办法
2963
查看次数

标签 统计

django ×2

django-views ×2

gevent ×1

long-polling ×1

postgresql ×1

python ×1