由于多租户情况下的特定项目,我有一个调度程序设置了相当深的统计文件级别。
我希望找到一种能够递归刷新目录的方法,以模仿其他租户的更浅的统计文件级别。
是否有调度程序刷新命令允许我显式删除内容目录?
您可以通过向调度程序发送简单的 GET 请求来自行实现此目的。您需要点击的调度程序上的路径是/dispatcher/invalidate.cache
.
以下标头可确保其得到正确处理:
-
CQ-行动:可以将其设置为“DELETE”以删除内容。我认为“EXPIRE”也可以将内容标记为过期,但不会将其从缓存中物理删除。
-
CQ-手柄:这指定了应该从缓存文件夹的根目录开始删除的内容。例如。 “/content/geometrixx”,将删除 geometrixx 及其下的所有内容。 “/”将删除缓存中的所有内容。
-
内容长度和内容类型:确保请求得到正确处理。由于我们不发送正文,因此长度可以设置为 0。Content-Type 可以是“application/octet-stream”(尚未尝试其他值)。
您将构建的最终curl 命令将如下所示:
curl -v \
-H "CQ-Action: DELETE" \
-H "CQ-Handle:/" \
-H "Content-Length: 0" \
-H "Content-Type: application/octet-stream" \
http://localhost:80/dispatcher/invalidate.cache;
(这是从端口 80 上的 localhost 下运行的调度程序上的缓存中删除所有内容。这里的反斜杠是可选的,只是使其更易于阅读)
您可以从任何盒子发出此 GET 请求(受防火墙限制等),例如,它可能来自:
- 您的 CI 构建代理
- 您的 Publish 实例中的计划作业
- Author 实例中的一个管理组件,采用给定的路径进行刷新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)