- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们遇到了一个问题,我们怀疑与负载平衡有关。我们在 Apache 后面有 4 个 ZEO 前端客户端。有时(从日志中)创建新内容项会记录错误。
2011-04-13T15:39:57 ERROR Zope.SiteErrorLog 1302701997.20.258830910503 https://x/intranet
/portal_factory/MyType/xxx.2011-04-13.9797548037/xxx_edit
ValueError: Unable to find
我们怀疑正在发生的情况是,portal_factory 将临时创建的项目存储在 ZEO 客户端 session 存储中(我们如何确认这一点),并且该存储不在 ZEO 客户端之间共享。当用户点击“保存”时,会发生验证错误,并且浏览器会被引导回编辑屏幕。然后,此编辑屏幕 View 将转到另一个 ZEO 客户端,该客户端在其 session 存储中没有临时“创建中的项目”。
但是,我们之前运行过许多负载平衡的 Plone 站点,并且之前没有收到过此问题的报告,因此我怀疑错误原因可能是其他原因,或者该站点上存在某个因素触发了该行为。
以下是一些相关信息,遗憾的是,这些信息非常模糊:
http://plone.org/documentation/kb/sticky-sessions-and-mod_proxy_balancer
最佳答案
在 Plone 3 中,对象创建逻辑中仍然存在一些确实使用 session 的代码。它支持类似小部件的界面,其中对象创建分布在多个实际请求中。这种支持和代码在 Plone 4 中消失了。
Plone 3 中的这段代码依赖于访问 request.SESSION。棘手的一点是,如果其他代码已经创建了 session ,则该代码仅使用该 session 。 Plone(甚至 Plone 3)中的任何代码都不应该首先创建 session ,因此通常它不会在那里并且不会被使用。但是,如果站点中的任何代码确实创建了 session ,则对象创建逻辑也将使用它。这应该可以解释为什么您在大多数网站上没有看到该问题。
所有这些都特别棘手,因为只需调用 request.SESSION 就会创建一个 session 。 Products.Archetypes 中的 content_edit_impl.py 脚本使用不同的 API 来访问 session :
# Avoid implicitly creating a session if one doesn't exists
session = None
sdm = getToolByName(context, 'session_data_manager', None)
if sdm is not None:
session = sdm.getSessionData(create=0)
create=0 告诉 API 避免在尚不存在 session 的情况下隐式创建 session 。
您可以尝试查找创建 session 的代码,从 Archetypes 自定义代码以删除 session 部分,或者将 session 存储移至 ZEO 中并在所有 Zope 实例之间共享。虽然不建议在高流量网站上这样做,但它对于简单的场景应该可以正常工作(https://weblion.psu.edu/trac/weblion/wiki/TemporaryStorageInZeo 中的一些提示)。
关于apache - Plone 3.3.5 负载均衡时是否需要粘性 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650716/
如何检查枚举是否等于可能情况之一。有没有比以下更好的解决方案: [.orderedAscending, .orderedSame].contains(Calendar.current.compare(
我正在尝试使用 openCV 和 C++ 来均衡 HSV 图像的直方图。我知道有些带有 openCV 的库可以为我执行此操作,但我想手动尝试以了解该方法。 我假设均衡将在 HSV 图像的 V chan
我有一个包含多个列的表格。这些列可以包含不同大小的内容,因此高度会有所不同。 我想做的是调整单个元素的高度,使它看起来像这样: . .table { display: flex; ba
:) 我有一个小问题: 我有一个 div,在里面有两个 div,一个挨着另一个。左边的一个在调整大小时改变其高度以保持其与宽度的关系,我希望右边的一个与左边的高度相同;我在文档末尾的 jQuery 中
我正在尝试在 YAML 中创建三列布局。我正在使用此框架的网格功能来定位列(导航、内容、侧边栏)。 我的问题:如何将所有三个 div 的高度设置为相同的大小。 YAML 应该提供 ym-equaliz
这个问题在这里已经有了答案: How do I keep two side-by-side div elements the same height? (24 个答案) 关闭 5 年前。 有没有一种
好像我的 JavaScript 没有听我的。我只是想将所有 anchor 的高度设置为等于这些 anchor 的最高高度。 HTML {{products.title}}
我想对同一主题的两个半脸彩色图像进行均衡,然后将它们合并。它们每个都有不同的色调饱和度和亮度值....使用 opencv 我如何标准化/均衡每个半图像? 我尝试执行 cvEqualizeHist(v,
当一个div高度很大时,我想等于两个div的高度 例子: B ACD Div 2 的高度大于 div 1 最佳答案 我可能有一个可能的解决方案: http://jsfiddle.net/adaz/w
我正在尝试做类似的事情(我已经删除了不必要的东西) Models.Parent.findAll({ where: { parent_id: {
我在 node 中使用 typescript,它在开发模式下运行良好,通过使用以下命令运行我的 index.ts 和 ts-node。 ts-node src/index.ts 但是当我将 types
我是一名优秀的程序员,十分优秀!