我有一个奇怪的错误与django会话在我的应用程序中:有些时候(对于约20000每天约10次)会话信息删除。我通过日志文件追踪它:在页面A中,用户会话的信息在他提交表单之后,在下一页他的会话是空的。我试过两种类型的存储:只有memcached + db和db,这个问题适用于他们两个。我试图重现这些场景,但是所有的工作都如预期的那样,正如我所说的那样,这种情况非常罕见。我也检查了这个问题存在于不同的用户,并且他们不会每次都重现。我没有任何想法如何抓住根本原因,我不知道还有什么在这里作为描述。如果有人有任何想法,请告诉我。如果它很重要,我使用django 1.2 + FastCGI运行我的应用程序。 谢谢!django会话的棘手问题:有时会话信息被删除
UPD:我检查并发现,在两次连续请求期间,来自用户的会话密钥未发生更改,首先请求存在实际的会话状态,而在第二个会话中,变量的相对空值为空。
您是否使用任何可以创建并发请求的JavaScript,以便两者都可以修改会话? – hynekcer
@hynekcer,没有会话不会更新来自JS的调用。 – dbf
你确定你没有在FastCGI中使用多线程? (如果您设置FCGI_MAX_CONNS = 1,FCGI_MAX_REQS = 1,FCGI_MPXS_CONNS = 0,那么您可以确保只使用单个线程,独立于您使用的fastcgi实现:[FastCGI规范](http://www.fastcgi.com/drupal/node/6?q = node/22))然后,我建议记录进程标识以查看它是否只能通过相同进程或仅通过不同进程擦除。 (在日志格式字符串或“os.getpid()”函数中使用“%(process)d”。) – hynekcer