Options pour les EA à distance
Par défaut, les AE sont locaux et le cycle de vie du processus d'AE est contrôlé par le système NPS. Les AE à distance permettent de lancer et de se connecter à des processus d'AE fonctionnant indépendamment les uns des autres.
Ces processus s'exécutent en dehors de l'arbre des processus du système NPS, à la manière d'un démon La communication avec un AE distant s'effectue par l'intermédiaire d'un point de connexion, qui est une adresse abstraite composée de {remote name[,session ID] [,transaction ID] [,dataslice ID]}
Le point de connexion peut être construit en utilisant une combinaison de nom distant, d'ID de session, d'ID de transaction et d'ID de tranche de données. Par exemple, si seul le nom distant est spécifié, il y a un AE par SPU/hôte (chaque session d'utilisateur partage la même instance d'AE). Si le nom distant et l'ID de session sont spécifiés, il y a un AE par session utilisateur par SPU/hôte (une session utilisateur a sa propre instance AE privée sur chaque SPU et sur l'hôte). Seul le nom à distance est requis. Les trois autres sont facultatifs.
- --remote
- Indique que l'AE est un AE à distance. Si elle est spécifiée, l'option "
--rnameest requise. Exemple :--remote --rname applyop - --rname <nom_de_l'ae>
- Spécifie le nom de l'AE distant. Cette option est requise si l'option "
--remoteest spécifiée. Exemple :--remote --rname applyop - --rsession
- Ajoute l'identifiant de la session comme élément de l'adresse du point de connexion (facultatif). Exemple :
--rsession - --rtrans
- Ajoute l'identifiant de la transaction comme élément de l'adresse du point de connexion (facultatif). Exemple :
--rtrans - --rdataslice
- Ajoute l'ID de la tranche de données en tant qu'élément de l'adresse du point de connexion (facultatif). Exemple :
--rdataslice - --replbysql
- Définit que l'instruction SQL dans laquelle l'AE est utilisé peut être répliquée par SQL. Pour éviter les décalages entre le nœud maître et le nœud subordonné de votre système répliqué, assurez-vous que la sortie de votre AE est déterministe lorsque vous choisissez cette option.
- --replbyval
- Définit que l'instruction SQL dans laquelle l'AE est utilisé doit être répliquée par valeur. Si rien d'autre n'est spécifié, il s'agit du paramètre par défaut. Les AE distants sont toujours répliqués par valeur.
Lancement d'un AE à distance
L'enregistrement pour le lancement d'un AE distant est similaire à celui d'un AE local. Par exemple, si le fichier à exécuter est spécifié, il n'y a pas de demande de données proprement dite. Un enregistrement pour le lancement de l'AE doit toujours concerner une fonction de tableau avec une signature d'argument "
bigint et " returnTABLE(aeresult varchar(255)).- --launch
- Indique qu'il s'agit d'un lanceur. Exemple :
--launch