Appeler des transactions

L'option Appeler des transactions permet d'appeler une ou plusieurs commandes de cluster sur un nœud cible. Elle est semblable aux appels de procédures à distance effectués vers une commande définie dans le cluster.

De la même manière que pour les transactions d'écriture, les appels de transactions prennent en charge les transactions planifiées et non planifiées. Veuillez consulter la section Actions planifiées et non planifiées pour en savoir plus sur les transactions planifiées.

Transaction d'appel non temporisé

Séquence d'opérations d'une transaction d'appel intemporelle
Figure 1: transaction d'appel non temporisée

Appeler l'action de requête

Direction: initiant -> Target

Comme pour les actions de requête de lecture et d'écriture, l'initiateur fournit à la cible les éléments suivants:

  • Appeler des requêtes: liste des chemins vers les commandes du cluster, ainsi que des arguments facultatifs des commandes, appelés Champs de commande.
  • Requête temporisée: indicateur qui indique si cette action fait partie d'une transaction d'appel temporisé.
  • Suppress Response: indicateur indiquant si l'action d'appel de réponse doit être supprimée.
  • ID d'interaction: entier utilisé pour faire correspondre l'action de demande d'appel à l'action d'appel de réponse.

Appeler l'action de réponse

Direction: Cible -> Déclencheur

Une fois que la cible a reçu l'action de demande d'appel, elle finalise la transaction avec une action d'appel de réponse qui contient les éléments suivants:

  • Appeler les réponses: liste des réponses de commande ou de l'état pour chaque requête d'appel envoyée.
  • ID d'interaction: entier utilisé pour faire correspondre l'action d'appel de réponse à l'action de demande d'appel.

Restrictions concernant les appels non temporisés

L'action de demande d'appel peut être un événement de groupe, mais dans ce cas, l'indicateur Supprimer la réponse doit être défini. La raison est que dans le cas contraire, le réseau pourrait être inondé de réponses simultanées de chaque membre d'un groupe.

Pour activer ce comportement, le chemin d'accès utilisé dans la liste "Requêtes d'appel" peut contenir des groupes, mais ceux-ci peuvent également contenir des caractères génériques, mais uniquement dans le champ "Point de terminaison". De plus, si l'action est un événement de groupe, cette transaction se termine sans réponse.

Transactions d'appel temporisé

À l'instar des transactions d'écriture temporisées, les transactions d'appel temporisé commencent également par l'action de requête temporisée.

Séquence d'opérations d'une transaction d'appel temporisé
Figure 2: transaction avec appel temporisé

Action de demande planifiée

Direction: initiant -> Target

Un demandeur lance la transaction en envoyant cette action qui contient:

  • Délai avant expiration: durée en millisecondes pendant laquelle cette transaction peut rester ouverte. Pendant cette période, la prochaine action envoyée par l'initiateur sera considérée comme valide.

Une fois l'action de requête temporisée reçue, la cible doit accuser réception de cette action avec une action de réponse d'état. Lorsque l'initiateur reçoit une action de réponse d'état ne signalant aucune erreur, il envoie une action de demande d'appel.

Appeler l'action de requête

Identique à l'appel de demande d'action décrit précédemment.

Appeler l'action de réponse

Identique à l'action d'appel de réponse décrite précédemment.

Restrictions concernant les appels programmés

Toutes les commandes d'appel peuvent être appelées dans le cadre d'une interaction temporisée. Les actions de requête temporisée, d'appel de demande et d'appel de réponse sont des actions de type Unicast uniquement et ne peuvent donc pas être utilisées comme diffusion de groupe sur des transactions d'appel temporisé.

L'action de demande d'appel accepte l'utilisation de chemins d'accès avec Groupes, ainsi que les caractères génériques, mais l'action d'appel de réponse n'accepte pas l'utilisation de caractères génériques.