AEM as a Cloud Service 中的维护任务

维护任务是按计划运行以优化存储库的过程。使用 AEM as a Cloud Service 会大幅减小客户配置维护任务操作属性的需求。 客户可以将资源集中在应用程序级别的问题上,而 Adobe 则会处理基础设施方面的操作。

配置维护任务

在早期版本的 AEM 中,您可以使用维护卡(“工具”>“操作”>“维护”)配置维护任务。对于 AEM as a Cloud Service,维护卡不再可用,因此应由源控件管理配置,并使用云管理器进行部署。Adobe 管理那些具有客户无法配置的设置的维护任务(例如,数据存储垃圾收集、审核日志清除、版本清除)。其他维护任务可由客户配置,如下表所述。

注意

Adobe 保留覆盖客户维护任务配置设置的权利,以缓解性能下降等问题。

下表说明了 AEM as a Cloud Service 发布时存在的维护任务。

维护任务 谁拥有配置 如何配置(可选)
数据存储垃圾收集 Adobe 不适用 – 完全由 Adobe 所有
版本清除 Adobe 对于现有环境(那些在2023年6月1日之前创建的环境),清除会处于禁用状态,且将来不会启用清除,除非客户明确启用清除,届时他们还可以使用自定义值对其进行配置。

默认情况下,新环境(自2023年6月1日起创建的环境)将启用以下值清除,客户可以使用自定义值进行配置。
  1. 超过 30 天的版本将会被删除
  2. 保留过去 30 天内的最新 5 个版本
  3. 无论上述规则如何,都会保留最新版本。

  4. 建议那些有法规要求,要求按照特定日期的显示方式呈现网站页面的客户,与专门的外部服务相集成。
审核日志清除 Adobe 对于现有环境(那些在2023年6月1日之前创建的环境),清除会处于禁用状态,且将来不会启用清除,除非客户明确启用清除,届时他们还可以使用自定义值对其进行配置。

默认情况下,新环境(从2023年6月1日开始创建的环境)将在 /content 存储库的节点:
  1. 对于复制审核,将删除超过 3 天的审核日志
  2. 对于 DAM (Assets),将删除超过 30 天的审核日志
  3. 对于页面审核,将删除超过 3 天的日志。

  4. 建议那些有管理法规要求生成不可编辑的审核日志的客户与专门的外部服务集成。
Lucene 二进制文件清理 Adobe 未使用,因此被 Adobe 禁用。
临时任务清理 客户

必须在 git 中完成。覆盖下的现成维护窗口配置节点 /libs 通过在文件夹下创建属性 /apps/settings/granite/operations/maintenance/granite_weekly, granite_dailygranite_monthly.

有关其他配置详细信息,请参阅下面的维护窗口表。通过在上述节点下添加其他节点来启用维护任务。 将其命名为 granite_TaskPurgeTask,属性为 sling:resourceType 设置为 granite/operations/components/maintenance/task 和属性 granite.maintenance.name 设置为 TaskPurge. 配置OSGI属性,请参阅 com.adobe.granite.taskmanagement.impl.purge.TaskPurgeMaintenanceTask ,以查看属性列表。

工作流清除 客户

必须在 git 中完成。覆盖下的现成维护窗口配置节点 /libs 通过在文件夹下创建属性 /apps/settings/granite/operations/maintenance/granite_weekly, granite_dailygranite_monthly. 有关其他配置详细信息,请参阅下面的维护窗口表。

通过在上面的节点下添加另一个具有适当属性的节点(将其命名为 granite_WorkflowPurgeTask),启用维护任务。配置 OSGI 属性,请参见 AEM 6.5 维护任务文档

项目清除 客户

必须在 git 中完成。覆盖下的现成维护窗口配置节点 /libs 通过在文件夹下创建属性 /apps/settings/granite/operations/maintenance/granite_weekly, granite_dailygranite_monthly. 有关其他配置详细信息,请参阅下面的维护窗口表。

通过在上面的节点下添加另一个具有适当属性的节点(将其命名为 granite_ProjectPurgeTask),启用维护任务。请参阅“Adobe项目清除配置”下的OSGI属性列表。

维护窗口配置 谁拥有配置 配置类型 参数
每日 客户 JCR 节点定义

windowSchedule=daily(此值不应更改)

windowStartTime=HH:MM 用作 24 小时时钟。定义与每日维护窗口相关联的维护任务何时开始执行。

windowEndTime=HH:MM 用作 24 小时时钟。定义与每日维护窗口关联的维护任务在尚未完成时应何时停止执行。

在此时间范围内,维护任务不能多次执行。

每周 客户 JCR 节点定义

windowSchedule=weekly(此值不应更改)

windowStartTime=HH:MM 用作 24 小时时钟。定义与每周维护窗口关联的维护任务应何时开始执行。

windowEndTime=HH:MM 用作 24 小时时钟。定义与每周维护窗口关联的维护任务在尚未完成时应何时停止执行。

在此时间范围内,维护任务不能多次执行。

windowScheduleWeekdays=1-7之间的2个值的数组(例如,[5,5]) 数组的第一个值是计划作业的开始日期,第二个值是停止作业的结束日期。 开始和结束的确切时间分别由 windowStartTime 和 windowEndTime 控制。

每月 客户 JCR 节点定义

windowSchedule=monthly (不应更改此值)

windowStartTime=HH:MM 用作 24 小时时钟。定义与每月维护窗口关联的维护任务应何时开始执行。

windowEndTime=HH:MM 用作 24 小时时钟。定义与每月维护窗口关联的维护任务在尚未完成时应何时停止执行。

在此时间范围内,维护任务不能多次执行。

windowScheduleWeekdays=1-7之间2个值的数组(例如,[5,5]) 数组的第一个值是计划作业的开始日期,第二个值是停止作业的结束日期。 开始和结束的确切时间分别由 windowStartTime 和 windowEndTime 控制。

windowFirstLastStartDay= 0/1 0 表示安排在每月的第一周,或 1 表示安排在每月最后一周。如果没有值,则实际上会在windowScheduleWeekdays(每月)所管辖的日期安排作业。

位置

  • 每天 - /apps/settings/granite/operations/maintenance/granite_daily
  • 每周 - /apps/settings/granite/operations/maintenance/granite_weekly
  • 每月 - /apps/settings/granite/operations/maintenance/granite_monthly

代码示例

代码示例 1(每日)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
  xmlns:jcr="http://www.jcp.org/jcr/1.0"
  jcr:primaryType="sling:Folder"
  sling:configCollectionInherit="true"
  sling:configPropertyInherit="true"
  windowSchedule="daily"
  windowStartTime="03:00"
  windowEndTime="05:00"
 />

代码示例 2(每周)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="weekly"
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

代码示例 3(每月)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="monthly"
   windowFirstLastStartDay=0
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

在此页面上