KEEPALIVE (-KEEPALIVE)
La commande -KEEPALIVE limite la durée pendant laquelle un adaptateur HTTP peut réutiliser une connexion. Vous pouvez utiliser la commande -KEEPALIVE pour empêcher l’adaptateur HTTP d’essayer de réutiliser une connexion fermée (par exemple, lorsque la connexion dépasse le paramètre KeepAliveTimeout du serveur HTTP).
Une mappe réutilise une connexion à deux conditions :
- Une mappe en cours d’exécution réutilise une connexion HTTP active lorsqu’elle émet plusieurs demandes HTTP ayant les mêmes options de connexion de ligne de commande dans la même instance de mappe.
- Une mappe réutilise également une connexion HTTP inactive lorsqu’elle s’exécute plusieurs fois dans différentes instances de mappe.
-KEEPALIVE timeout- Option
- Description
- timeout
- Nombre de secondes qui peuvent s’écouler entre deux réutilisations consécutives d’une connexion. Une fois le délai dépassé, l’adaptateur HTTP ne réutilise pas la connexion. Les valeurs possibles sont comprises entre 0 et 99999. Une valeur de 0 indique que la connexion n’est pas réutilisée.
Exemple
Une mappe émet plusieurs demandes HTTP et s’exécute plusieurs fois. Le serveur HTTP a un KeepAliveTimeout de 5 secondes. Le fichier tx_install_dirdtx.ini a un paramètre IdleHTTP=10.
La séquence de traitement de la mappe est la suivante :
- Une nouvelle instance de la mappe 1 démarre.
- Mappe 1, carte d'entrée 1, itération 1.
- Mappe 1, carte de sortie 1, itération 1 s’exécute.
- L’adaptateur HTTP établit la connexion 1 ou réutilise une connexion à partir d’une mappe précédente possédant des paramètres HTTP similaires.
- La mappe émet une opération HTTP Post.
- Mappe 1, carte d'entrée 1, itération 2.
- Mappe 1, carte de sortie 1, itération 2 s’exécute.
- L’adaptateur HTTP réutilise la connexion 1.
- La mappe émet une opération HTTP Post.
- La mappe 1 est terminée.
- La mappe 1 s’exécute à nouveau avec un nouveau numéro d’instance et répète l’étape 1.
Sans la commande -KEEPALIVE, tenez compte des scénarios d’échec potentiels suivants :
- Plus de 5 secondes s’écoulent entre les opérations HTTP POST (étapes 3b et 5b) :
- Le serveur HTTP KeepAliveTimeout ferme la connexion.
- L’adaptateur HTTP tente d’utiliser la connexion active (mais fermée) à l’étape 5b, et la mappe échoue.
- Moins de 10 secondes se sont écoulées entre l’étape 5b de la première instance de mappe et l’étape 3a dans la nouvelle instance de mappe :
- L’adaptateur HTTP réutilise la connexion inactive.
- L’étape 3b active la connexion réutilisée.
- Si plus de 5 secondes se sont écoulées entre les opérations HTTP POST (étapes 3b et 5b), le serveur HTTP KeepAliveTimeout ferme la connexion. Lorsque l’adaptateur HTTP tente d’utiliser la connexion active (mais fermée) à l’étape 5a, la mappe échoue.
La commande d’adaptateur -KEEPALIVE 5 empêche l’adaptateur HTTP de réutiliser une connexion si plus de 5 secondes s’écoulent depuis la dernière fois où la mappe a utilisé la connexion. Prenez en compte les scénarios réussis suivants :
- Plus de 5 secondes s’écoulent entre les opérations HTTP POST (étapes 3b et 5b) :
- Le serveur HTTP KeepAliveTimeout ferme la connexion active.
- La commande d’adaptateur -KEEPALIVE 5 empêche l’adaptateur HTTP de réutiliser la connexion active (mais fermée).
- L’adaptateur HTTP établit une nouvelle connexion et la mappe aboutit.
- La durée d’inactivité de la connexion entre les instances de mappe (étapes 6 et 7) est comprise entre 5-9 secondes :
- La durée d’inactivité est inférieure à 10 secondes. La connexion inactive peut donc être réutilisée.
- Le délai entre les demandes dépasse la valeur KeepAliveTimeout du serveur. Le serveur HTTP ferme la connexion.
- La commande d’adaptateur -KEEPALIVE 5 empêche l’adaptateur HTTP de réutiliser la connexion inactive (mais fermée) à l’étape 3A.
- L’adaptateur HTTP établit une nouvelle connexion et la mappe aboutit.