使用多个uwsgi worker和beaker session时的会话错误.typ是内存

时间:2012-10-25 02:04:57

标签: session uwsgi

我正在运行金字塔webapp,使用velruse制作OAuth。如果单独运行应用程序,它就成功了 但如果使用uwsgi multiple运行并设置session.type = memory。 request.session在oauth回调时不会包含必要的令牌信息。

production.ini:

session.type = memory
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = mykey
session.secret = mysecret

[uwsgi]
socket = 127.0.0.1:6543
master = true
workers = 8
max-requests = 65536
debug = false
autoload = true
virtualenv = /home/myname/my_env
pidfile = ./uwsgi.pid
daemonize = ./mypyramid-uwsgi.log 

2 个答案:

答案 0 :(得分:1)

如果您将内存用作会话存储,则只有已编写会话数据的工作人员才能使用该信息。您应该使用另一个会话存储(可以由所有工作者/进程共享)

答案 1 :(得分:0)

您的uWSGI配置不清楚(看起来它只包含套接字选项)。你可以重新粘贴吗?