在内容发布事件上向缓存服务器发送http清除

bethel.silva.purge的Python项目详细描述


bethel.silva.purge

简介

这个包是对plone.cachepurging提供清除支持的包装器。 为了席尔瓦的满足。清除席尔瓦的内容是触发时,该内容是 更改或发布。

许多Silva站点都位于缓存代理服务器(例如Varnish、Squid和 磅等)。缓存服务器将缓存Silva内容,直到其过期。为了 最重要的是这是一件好事,只要缓存 席尔瓦的标题设置正确。

但是,当重新发布缓存页或 关闭。缓存服务器将继续为缓存页提供服务,直到它 到期,即使在席尔瓦有新的内容。上的旧内容 缓存服务器称为"过时"。

此扩展为Silva根添加了净化服务。这项服务 用于启用清除、指定缓存服务器和配置的选项 plone.cachepurging-style简单的虚拟主机(重命名为域翻译)。 还支持复杂的虚拟主机情况,其中许多 虚拟主机是从一根席尔瓦根的不同区域提供的(这是 称为路径转换)。

实际清除请求在请求完成后通过 zpublisher.pubEvents.pubSuccess事件。每个清除路径都放入队列中 多个工作线程在队列上操作,直到为空。这是个甜点 具有plone.cachepurging的特性,因为它不会减慢对 客户端,

注意:虽然安装和配置这个扩展很容易,但你要做功课! 阅读plone.cachepurging文档并确保您理解 净化的基本原理。

在Silva中的操作

在Silva中修改或发布内容时,将触发清除事件。

发布时

iversion有一个ipublishingevent订阅服务器,它在每个 发布事件(发布、请求批准、过期、批准等)。同时 这将导致在不影响已发布的 版本,唯一的效果是内容被清除,并且需要 重新获取。

这会导致清除icontent对象,而不是iversion对象,因为 没有缓存。

如果对象事件是针对索引文档的,则容器也会被清除。

生成了什么清除URL?

为每个事件生成多个清除URL。以下说明了 在按域或路径转换之前生成的路径。

对象事件
  1. 标准plone.cachepurging路径:对象的完整根路径。为了 可发布的内容,这将是版本的路径,例如

    /silva/example.com/doc/1.

  2. [启用路径转换]索引对象将为容器添加路径, 有或没有斜线。例如,对于/silva/example.com/folder/index上的事件:

    /silva/example.com/folder/文件夹 /silva/example.com/folder/

  3. [启用域转换]相对于Silva根的路径。例如 /席尔瓦/文件夹/文档:

    /文件夹/文档

  4. < > >
发布事件
  1. 标准plone.cachepurging路径:对象的完整根路径。为了 可发布的内容,这将是版本的路径,例如:

    < Buff行情>

    /silva/example.com/doc/1

  2. [启用路径转换]指向icontent的路径,例如:

    < Buff行情>

    /silva/example.com/doc

  3. [启用路径转换]索引对象将为 包含或不包含尾随斜线的容器。例如,对于 /silva/example.com/folder/index:

    < Buff行情>

    /silva/example.com/folder/文件夹 /silva/example.com/folder/

  4. [启用域转换]相对于Silva根的路径。 例如,for/silva/folder/doc:

    < Buff行情>

    /文件夹/文档

  5. < > >

安装

要安装服务,请激活 服务扩展。安装此扩展将a plone.registry 安装到 席尔瓦树根并注册为本地公用事业。注册表由 plone.cachepurging以存储其配置。

配置

通过zmi管理屏幕配置服务。配置将 更改plone.cachepurging的plone.registry设置,并配置 复杂vhosting的路径转换。

1。启用服务

此字段表示plone.cachepurging.interfaces.icachesettings.enabled的值。

选中此选项将启用缓存清除。

2。设置缓存代理

需要将所有前端缓存服务器添加到此字段。每个的格式 是一个uri,例如http://cachingserver.example.com:6081" rel="nofollow">http://cachingserver.example.com:6081

第3页。复杂的虚拟主机(也称为路径转换)

一些席尔瓦设施可以为mult服务一个席尔瓦内的IPLE域 根。这些区域可能位于席尔瓦根的下面,例如。 /silva_root/domain1,/silva_root/domain2,等等,如果是这样的话, plone.cachepurging vhosting支持不够。路径转换需要 代替使用。

路径转换只是关于如何将根路径转换为 虚拟主机字符串。

要启用复杂的vhosting,请选中"使用路径转换"字段。

通过每行添加一个路径转换来配置路径转换。格式为 每一行是"根路径+''+转换路径"。比如说 在/silva/example.com/有一个vhost。这是从域访问的 http://example.com 。此路径转换的行将是:

< Buff行情> /silva/example.com/virtualhostbase/http/example.com:80/silva/www/virtualhostroot

路径转换支持多个vhost到同一根。如果www.example.com points/silva/example.com还可以添加一行:

< Buff行情> /silva/example.com/virtualhostbase/http/www.example.com:80/silva/www/virtualhostroot

此外,还可以提供https vhost:

< Buff行情> /silva/example.com/virtualhostbase/https/www.example.com:443/silva/www/virtualhostroot

支持由内向外托管(使用vh段),事实上 任何字符串都可以作为"转换路径"提供。关键是 生成的路径是否与缓存服务器缓存的路径匹配,或否 内容将被清除。

在生成清除url时,任何匹配的路径都将具有匹配的 部分替换为vhost字符串,用于所有匹配项。搜索匹配路径从对象的完整路径开始,然后沿着路径前进, 删除每个通道上的最后一个路径组件。

4。域翻译

配置plone.cachepurging虚拟主机支持。这个包裹包括两个 虚拟主机支持的类型,因此plone.cachepurging样式被重命名 "域转换"。这种方法重写了从席尔瓦根 到虚拟主机URL。

若要启用,请选中"使用域转换",然后在"域"中添加域 字段

有关此类virtualhost如何工作的更多信息,请参见 plone.cachepurging文档

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java打印树方法中的所有节点   java GUI程序不会作为小程序运行   java漂亮打印XML文件   CESAR密码java密码问题   java使用TNT4J,TrackingLogger统计数据仅显示该类的统计数据,如果我想要应用程序范围的统计数据呢?   显示此值的java ArraylistPlanetData@adf4bee而不是增值   爪哇威卡。分类器。功能。线性回归不能投射到weka。分类器。元。合奏选择   spring使用JavaSDK为AmazonS3对象设置对象过期日期   Java8拆分字符串并在映射内创建映射   java为什么在被同一类的对象的方法调用时repaint()不起作用?   java JavaFx:运行时检查PathTransition的当前位置   java组织。json。JSONException:JSONObject文本在启动时必须在字符2处以“{”开头   java如何删除动态类加载的这种用法,或者替换这种类加载?   java Joda:如何获得两个日期之间的月和日   eclipse在sublime text 3中导入自定义java包   java使用准备好的语句设置长数据类型   我的应用程序代码中的java错误   java将双精度表示转换为二进制表示?   java Eclipse和javac的构建功能有什么不同?