Mise à jour des fragments de contenu pour un filtrage GraphQL optimisé updating-content-fragments-for-optimized-graphql-filtering
Pour optimiser les performances de vos filtres GraphQL, exécutez une procédure pour mettre à jour vos fragments de contenu.
Conditions préalables prerequisites
Il existe des conditions préalables pour cette tâche :
-
Assurez-vous de disposer au minimum de la version 2023.1.0 d’AEM as a Cloud Service.
-
Assurez-vous que l’utilisateur ou l’utilisatrice qui effectue la tâche dispose des autorisations requises :
- au minimum, le rôle
Deployment Manager
dans Cloud Manager est requis.
- au minimum, le rôle
Mise à jour des fragments de contenu updating-content-fragments
-
Activez la mise à jour en définissant les variables suivantes pour votre instance à l’aide de l’interface utilisateur de Cloud Manager :
Les variables disponibles sont les suivantes :
table 0-row-8 1-row-8 2-row-8 3-row-8 4-row-8 5-row-8 Nom Valeur Valeur par défaut Service Appliqué Type Remarques 1 CF_MIGRATION_ENABLED
1
0
Tous Variable Active(!=0) ou désactive (0) le déclenchement du traitement de la migration des fragments de contenu. 2 CF_MIGRATION_ENFORCE
1
0
Tous Variable Assurer (!=0) rémigration des fragments de contenu. La définition de cet indicateur sur 0 effectue une migration incrémentielle des CF. Cela signifie que si la tâche est arrêtée pour une raison quelconque, l’exécution suivante de la tâche commence la migration à partir du point où elle a été arrêtée. La première migration est recommandée pour l’application (valeur=1). 3 CF_MIGRATION_BATCH
50
50
Tous Variable Taille du lot pour enregistrer le nombre de fragments de contenu après la migration. Cela correspond au nombre de CF qui sont enregistrés dans le référentiel en un seul lot et peut être utilisé pour optimiser le nombre d’écritures dans le référentiel. 4 CF_MIGRATION_LIMIT
1000
1000
Tous Variable Nombre maximal de fragments de contenu à traiter à la fois. Voir aussi les notes pour CF_MIGRATION_INTERVAL
.5 CF_MIGRATION_INTERVAL
60
600
Tous Variable Intervalle (en secondes) de traitement des fragments de contenu restants jusqu’à la limite suivante. Cet intervalle est également considéré comme un temps d’attente avant le démarrage de la tâche et comme un délai entre le traitement de chaque nombre de CF_MIGRATION_LIMIT suivant. (*) note note NOTE (*) La valeur de CF_MIGRATION_INTERVAL
peut également vous aider à faire une estimation du temps d’exécution total nécessaire au traitement de la migration.Par exemple : - Nombre total de fragments de contenu = 20 000.
- CF_MIGRATION_LIMIT = 1 000.
- CF_MIGRATION_INTERNAL = 60 (Sec).
- Durée approximative requise pour terminer la migration = 60 + (20 000/1 000 * 60) = 1 260 secondes = 21 minutes.
Les « 60 » secondes supplémentaires ajoutées au début sont dues au retard initial lors du démarrage du traitement.
Il ne s’agit que de l’heure minimum requise pour terminer la tâche, sans inclure l’heure d’E/S. Le temps réel pourrait être supérieur à cette estimation. -
Surveillez la progression et la fin de la mise à jour.
Pour ce faire, surveillez les journaux en mode de création et la publication Golden à partir de :
-
com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob
-
Journaux de création ; par exemple :
code language-shell 23.01.2023 13:13:45.926 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob This instance<dd9ffdc1-0c28-4d04-9a96-5d4d223e457e> is the leader, will schedule the upgrade schedule job. ... 23.01.2023 13:13:45.941 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Scheduling content fragments upgrade from version 0 to 1, slingJobId: 2023/1/23/13/13/50e1a575-4cd7-497b-adf0-62cb5768eedb_0, enforce: true, limit: 1000, batch: 50, interval: 60s 23.01.2023 13:20:40.960 *INFO* [sling-threadpool-09cbdb47-4d99-4c4c-b6d5-781b635ee21b-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 6m, slingJobId: 2023/1/23/13/13/50e1a575-4cd7-497b-adf0-62cb5768eedb_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=3781, failedCount=0, skippedCount=0}
-
Journaux de publication Golden ; par exemple :
code language-shell 23.01.2023 12:35:05.150 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob This instance<ad1b399e-77be-408e-bc3f-57097498fddb> is the leader, will schedule the upgrade schedule job. 23.01.2023 12:35:05.161 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Scheduling content fragments upgrade from version 0 to 1, slingJobId: 2023/1/23/12/34/ad1b399e-77be-408e-bc3f-57097498fddb_0, enforce: true, limit: 1000, batch: 50, interval: 60s ... 23.01.2023 12:40:45.180 *INFO* [sling-threadpool-8abcc1bb-cdcb-46d4-8565-942ad8a73209-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 5m, slingJobId: 2023/1/23/12/34/ad1b399e-77be-408e-bc3f-57097498fddb_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=3781, failedCount=0, skippedCount=0}
-
Les clients et clientes qui ont activé l’accès aux journaux d’environnement à l’aide de Splunk peuvent utiliser l’exemple de requête ci-dessous pour surveiller le processus de mise à niveau. Pour plus d’informations sur l’activation de la journalisation Splunk, voir Débogage de la production et de l’environnement intermédiaire.
code language-splunk index=<indexName> sourcetype=aemerror aem_envId=<environmentId> msg="*com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished*" (aem_tier=golden-publish OR aem_tier=author) | table _time aem_tier pod_name msg | sort -_time desc
Où :
environmentId
- un identifiant de l’environnement client ; par exemple,e1234
indexName
- un nom d’index client, collectant les événementsaemerror
Exemple de sortie :
table 0-row-4 1-row-4 2-row-4 layout-auto _time aem_tier pod_name msg 2023-04-21 06:00:35.723 author cm-p1234-e1234-aem-author-76d6dc4b79-8lsb5 [sling-threadpool-bb5da4dd-6b05-4230-93ea-1d5cd242e24f-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 391m, slingJobId: 2023/4/20/23/16/db7963df-e267-489b-b69a-5930b0dadb37_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=36756, failedCount=0, skippedCount=0} 2023-04-21 06:05:48.207 golden-publish cm-p1234-e1234-aem-golden-publish-644487c9c5-lvkv2 [sling-threadpool-284b9a9a-8454-461e-9bdb-44866c6ddfb1-(apache-sling-job-thread-pool)-1-Content Fragment Upgrade Job Queue Config(cfm/upgrader)] com.adobe.cq.dam.cfm.impl.upgrade.UpgradeJob Finished content fragments upgrade in 211m, slingJobId: 2023/4/20/23/15/66c1690a-cdb7-4e66-bc52-90f33394ddfc_0, status: MaintenanceJobStatus{jobState=SUCCEEDED, statusMessage='Upgrade to version '1' succeeded.', errors=[], successCount=19557, failedCount=0, skippedCount=0} -
-
Désactivez la procédure de mise à jour.
note important IMPORTANT Cette étape est obligatoire pour terminer la mise à niveau. Une fois la procédure de mise à jour exécutée, réinitialisez la variable d’environnement cloud
CF_MIGRATION_ENABLED
sur « 0 » pour déclencher le recyclage de tous les pods. -
table html-authored no-header table 0-row-8 1-row-8 Nom Valeur Valeur par défaut Service Appliqué Type Remarques CF_MIGRATION_ENABLED
0
0
Tous Variable Désactive(0) (ou Active(!= 0) le déclenchement de la tâche de migration de fragment de contenu. note note NOTE Ceci est important pour le niveau de publication, car la mise à jour du contenu est effectuée uniquement sur la publication en or. Lorsque le recyclage des capsules, toutes les capsules de publication standard sont basées sur la publication en or. Vérifiez que la procédure de mise à jour est terminée.
Vous pouvez vérifier la réussite de la mise à jour à l’aide du navigateur de référentiels dans la Developer console de Cloud Manager pour vérifier les données de fragment de contenu.
-
Avant la première migration complète, la propriété
cfGlobalVersion
n’existe pas.
Par conséquent, la présence de cette propriété, sur le nœud JCR/content/dam
avec la valeur1
, confirme la fin de la migration. -
Vous pouvez également vérifier les propriétés suivantes sur les fragments de contenu individuels :
_strucVersion
doit avoir la valeur de1
.- La structure
indexedData
doit exister.
note note NOTE La procédure met à jour les fragments de contenu sur les instances d’auteur et de Publish. Par conséquent, Adobe vous recommande d’effectuer la vérification par le biais du navigateur de référentiel pour au moins une instance d’auteur et une instance Publish.
-
Limites limitations
Gardez à l’esprit les limites suivantes :
-
L’optimisation des performances des filtres GraphQL n’est possible qu’après une mise à jour complète de tous vos fragments de contenu (indiquée par la présence de la propriété
cfGlobalVersion
pour le noeud JCR/content/dam
). -
Si des fragments de contenu sont importés à partir d’un module de contenu (à l’aide de
crx/de
) après l’exécution de la procédure de mise à jour, ces fragments de contenu ne sont pas pris en compte dans les résultats de la requête GraphQL tant que la procédure de mise à jour n’est pas exécutée à nouveau.