Maintenance Tasks are processes that run on a schedule in order to optimize the repository. With AEM as a Cloud Service, the need for customers to configure the operational properties of maintenance tasks is minimal. Customers can focus their resources on application-level concerns, leaving the infrastructure operations to Adobe.
In previous versions of AEM, you could configure maintenance tasks by using the Maintenance Card (Tools > Operations > Maintenance). For AEM as a Cloud Service, the Maintenance Card is no longer available so configurations should be committed to source control and deployed by using the Cloud Manager. Adobe manages those maintenance tasks which have settings that are not configurable by customers (for example, Datastore Garbage Collection, Audit Log Purge, Version Purge). Other maintenance tasks can be configured by customers, as described in the table below.
Adobe reserves the right to override a customer’s maintenance task configuration settings in order to mitigate issues such as performance degradation.
The following table illustrates the maintenance tasks that are available at the time of release of AEM as a Cloud Service.
Maintenance Task | Who owns the configuration | How to configure (optional) |
---|---|---|
Datastore garbage collection | Adobe | N/A - fully Adobe owned |
Version Purge | Adobe | In order for the author tier to remain performant, older versions of each piece of content under the /content node of the repository are purged according to the following behavior:
NOTE: the behavior described above is enforced by default for new environments created after March 14, 2022. Please submit a customer support ticket if you require different settings. |
Audit Log Purge | Adobe | In order for the author tier to remain performant, older audit logs under the /content node of the repository are purged according to the following behavior:
NOTE: the behavior described above is enforced by default for new environments created after March 14, 2022. Please submit a customer support ticket if you require different settings. |
Lucene Binaries Cleanup | Adobe | Unused and therefore disabled by Adobe. |
Ad-hoc Task Purge | Customer |
Must be done in git. Override the out-of-the-box Maintenance window configuration node under See the Maintenance Window table below for additional configuration details. Enable the maintenance task by adding another node under the node above (name it |
Workflow Purge | Customer |
Must be done in git. Override the out-of-the-box Maintenance window configuration node under Enable the maintenance task by adding another node under the node above (name it |
Project Purge | Customer |
Must be done in git. Override the out-of-the-box Maintenance window configuration node under Enable the maintenance task by adding another node under the node above (name it |
Maintenance Window Configuration | Who owns the configuration | Configuration Type | Parameters |
---|---|---|---|
Daily | Customer | JCR Node Definition |
windowSchedule=daily (this value should not be changed) windowStartTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the Daily Maintenance Window should begin executing. windowEndTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the Daily Maintenance Window should stop executing if they haven't already completed. |
Weekly | Customer | JCR Node Definition |
windowSchedule=weekly (this value should not be changed) windowStartTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the weekly Maintenance Window should begin executing. windowEndTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the Weekly Maintenance Window should stop executing if they haven't already completed. windowScheduleWeekdays= Array of 2 values from 1-7 (e.g. [5,5]) The first value of the array is the start day when the job is scheduled and the second value is the end day when the job would be stopped. The exact time of the start and the end is governed by windowStartTime and windowEndTime respectively. |
Monthly | Customer | JCR Node Definition |
windowSchedule=daily (this value should not be changed) windowStartTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the Monthly Maintenance Window should begin executing. windowEndTime=HH:MM using as 24 hour clock. Defines when the Maintenance Tasks associated with the Monthly Maintenance Window should stop executing if they haven't already completed. windowScheduleWeekdays=Array of 2 values from 1-7 (e.g. [5,5]) The first value of the array is the start day when the job is scheduled and the second value is the end day when the job would be stopped. The exact time of the start and the end is governed by windowStartTime and windowEndTime respectively. windowFirstLastStartDay= 0/1 0 to schedule on the first week of the month or 1 to schedule on the last week of the month. The absence of a value would effectively schedule jobs every day as governed by windowScheduleWeekdays every month. |
Locations:
Code samples:
Code sample 1 (daily)
<?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"
/>
Code sample 2 (weekly)
<?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"/>
Code sample 3 (monthly)
<?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"/>