Micro-apps

Synchroniser les données

En tant qu’administrateur, vous disposez d’un contrôle détaillé sur les planifications de synchronisation que vous définissez. Toutefois, vous devez faire attention à la façon dont vous définissez les heures de synchronisation pour éviter que les tâches ne manquent pas leur planification. Afin d’éviter que cela ne se produise, des calendriers de randomisation sont disponibles pour les mêmes périodes.

Les trois types de tâches suivantes sont pertinents :

  • Synchronisation complète: optimisée pour les gros volumes de données dont l’exécution peut prendre beaucoup de temps.
  • Synchronisation incrémentielle : optimisée pour les petites mises à jour effectuées fréquemment.
  • Tâches de notification : évaluation des événements de notification et envoi de messages de notification au public cible. Les tâches de notification s’exécutent après chaque synchronisation complète, chaque synchronisation incrémentielle, après les actions de service, et également indépendamment.

Règles de synchronisation

Tout d’abord, pour une intégration donnée, une synchronisation complète doit se terminer avec succès avant qu’une synchronisation incrémentielle ne puisse s’exécuter.

Un seul type de tâche peut être exécuté à tout moment pour une intégration donnée. Par exemple, pendant qu’une synchronisation complète est en cours d’exécution, il ne peut pas y avoir de synchronisation incrémentielle ni aucune tâche de notification en cours d’exécution. Il s’agit de la même situation pour les tâches de synchronisation incrémentielle et les tâches de notification.

Cependant, plusieurs tâches de notification peuvent s’exécuter en même temps. Le nombre maximal de tâches pour toutes les intégrations combinées est de trois par instance de service de micro-apps.

Il peut arriver que les planifications de synchronisation complète et de synchronisation incrémentielle se chevauchent. Il n’est pas possible de prédire quelle planification va aboutir et quelle planification va échouer. Aucune règle n’existe pour gérer cette situation. Dans ce cas, nous nous appuyons sur la randomisation et le débit limité de trois tâches par instance, ce qui réduit le risque qu’une synchronisation complète et qu’une synchronisation incrémentielle démarrent en même temps et entrent en conflit.

Synchronisation qui ne respecte pas ses règles de planification

Si une tâche ne s’exécute pas comme prévu, elle est marquée comme ayant échoué et le système tente de planifier la tâche ratée dès que possible. Raisons pour lesquelles la planification peut échouer

  • Il existe déjà trois autres tâches en cours d’exécution sur cette instance.
  • Une tâche prend plus de temps à se terminer par rapport aux paramètres définis dans l’intervalle de répétition. Par exemple, vous définissez la synchronisation incrémentielle toutes les 15 minutes, mais la tâche prend 20 minutes pour une raison quelconque.

Remarque

Si une valeur dans la colonne de clé primaire est manquante ou correspond à un type non valide, l’enregistrement est ignoré lors de la synchronisation et un avertissement est généré dans le journal.

Détails des règles de veto

Chaque fois qu’une tâche démarre, les règles de veto qui peuvent l’annuler sont vérifiées. Les règles de veto sont différentes selon les types de tâches.

  • Pour une synchronisation complète, une tâche fait l’objet d’un veto si une autre tâche de notification/synchronisation est déjà en cours d’exécution pour la même intégration de données. Dans ce cas, la tâche est redéclenchée dans 5 secondes.
  • Pour la synchronisation incrémentielle, si une synchronisation complète n’a jamais abouti pour l’intégration, le planificateur démarre une synchronisation complète plutôt qu’une tâche unique. De plus, comme auparavant, une tâche fait l’objet d’un veto si une autre tâche de notification/synchronisation est déjà en cours d’exécution pour la même intégration de données. Dans ce cas, la tâche est redéclenchée dans 5 secondes.
  • Pour les événements de notification, une tâche fait l’objet d’un veto si une synchronisation complète n’a jamais abouti pour l’intégration. Les tâches de notification s’exécutent simultanément. Cela signifie que plusieurs tâches de notification peuvent s’exécuter en même temps. Cependant, pour des raisons d’optimisation, il n’y a qu’une seule table dans le journal des modifications (changelog) pour chaque table primaire. Par conséquent, il ne peut y avoir qu’une seule tâche de notification mettant à jour la table dans le journal des modifications (changelog) à la fois. Par conséquent, lorsqu’une tâche de notification met à jour la table dans le journal des modifications (changelog), les autres tâches de notification sont en attente. Une fois cette opération terminée, les autres tâches de notification peuvent s’exécuter.

Définir la synchronisation des données

Commencez par extraire les données de vos applications intégrées vers la plate-forme de micro-apps afin qu’une comparaison puisse être établie avec le cache. La meilleure pratique consiste à effectuer une synchronisation complète toutes les 24 heures. Les synchronisations incrémentielles peuvent être configurées pour se produire toutes les cinq minutes.

  1. Sur la page Gérer les micro-apps, sélectionnez le menu en regard de l’intégration pour laquelle vous souhaitez définir la synchronisation.
  2. Sélectionnez Synchronisation.

    Définir la synchronisation des données

  3. Définissez les valeurs de synchronisation des données sur Complète et Incrémentielle.

    • L’option Complète supprime le cache local et extrait toutes les données du système source.

      Important :

      L’exécution de la synchronisation complète peut prendre beaucoup de temps. Nous vous recommandons d’exécuter une synchronisation complète la nuit ou en dehors des heures d’activité. Vous pouvez annuler une synchronisation de données en cours à tout moment en sélectionnant l’icône X.

    • L’option Incrémentielle extrait uniquement les enregistrements modifiés (nouveaux et mis à jour). Cette option ne charge pas les données supprimées.

      Important :

      Toutes les API ne prennent pas en charge la synchronisation incrémentielle.

      Lorsque vous définissez une synchronisation sur Quotidienne ou Hebdomadaire, la synchronisation se produit aléatoirement dans le créneau horaire sélectionné. Par exemple, lorsqu’une synchronisation complète quotidienne est définie sur 00-04, celle-ci sera exécutée à un moment choisi de manière aléatoire au cours de cette période.

  4. Sélectionnez Enregistrer.

Remarque :

Vous pouvez également sélectionner les icônes fléchées pour exécuter les intégrations à la demande si nécessaire.

Synchroniser les données