gpt4 book ai didi

python - 对于将 Python Lock 对象存储在 Beaker session 中,我应该有什么顾虑吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:25 26 4
gpt4 key购买 nike

我的网站上有一个特定页面,我想阻止同一用户连续访问该页面两次。为了防止这种情况,我计划创建一个 Lock 对象(来自 Python 的线程库)。但是,我需要跨 session 存储它。尝试在 session (特别是 Beaker session )中存储 Lock 对象时,有什么需要注意的吗?

最佳答案

在 session 中(或任何其他需要序列化的地方)存储一个 threading.Lock 实例是一个糟糕的主意,如果你尝试这样做,你可能会得到一个异常(因为这样的对象无法序列化,例如,它不能为 pickle d)。流程协作序列化的传统方法依赖于 file locking (在“人工”文件上,例如在 /tmp/locks/<username> 等目录中,如果您希望锁定针对每个用户,如您所示)。我相信维基百科条目很好地描述了总体区域;如果您告诉我们您正在运行的操作系统,我们可能会建议更具体的内容(不幸的是,我不相信有跨平台的解决方案)。

关于python - 对于将 Python Lock 对象存储在 Beaker session 中,我应该有什么顾虑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com