Téléchargement des produits


Version anglaise


 

Extérieurement, la seule différence, au niveau de l'emploi du gestionnaire de travaux soumis est de fournir simplement une DLL au lieu d'un programme d'interface en .EXE.

 

En ce qui concerne les programmes Visual, tout programme respectant l'interface du gestionnaire de travaux soumis peut être utilisé indifféremment en DLL ou en EXE, tout en sachant que l'utilisation en DLL comporte les limitations exposées ci-dessous.

  • La DLL doit respecter l'interface des programmes Adélia et exporter une fonction VA_Main respectant le prototype suivant :

void VA_Main (char * param1, char * param2, long * idJob);

 

Exemples :

- programme d'exécution HFSOU2.EXE : exécution de HFSOU2.EXE.

- programme d'exécution HFSOU2 : exécution de HFSOU2.EXE.

- programme d'exécution HFSOU2.DLL : chargement de HFSOU2.DLL et exécution du point d'entrée VA_Main par un processus hôte.

 

  • Certaines précautions doivent être prises dans les programmes Adélia qui sont appelés via un processus hôte.

    Les programmes doivent être ré-entrants.

    En effet le programme appelé ne sera pas déchargé de la mémoire entre deux appels dans le cas général.
    Cela implique plusieurs problèmes potentiels :

  • Les variables globales ne sont pas ré-initialisées entre deux appels. Cela signifie que l'on ne peut pas assumer que ces variables sont initialisées à zéro au démarrage du programme.
     
  • Dans le cas d'un programme Adélia, les connexions Middleware et base de données ne sont pas détruites en fin de programme, mais réutilisées pour l'appel suivant. D'ou deux problèmes potentiels :
  • pas de déconnexion BD, les programmes doivent êtres corrects et terminer proprement leurs transactions (pas de ROLLBACK implicite en fin de programme si erreur de programmation).
  • si le paramétrage Middleware est modifié, ou que le programme peut potentiellement s'appuyer sur un fichier de configuration spécifique passé en paramètre, c'est au programme de détecter ces changements et de ré-initialiser les connexions si nécessaire.

 

  • Sur un traitement court, le gain estimé est au maximum de 50%. Ce mode d'exécution n'est donc nécessaire que pour des traitements très rapides. Un processus de travail intrinsèquement "lent" ne verra aucun gain dans ce mode d'exécution.

 

Dans le cas d'un lanceur particulier, il peut être possible d'accélérer encore le fonctionnement en forçant le chargement des programmes les plus sollicités au démarrage (CHARGER_DLL sans DECHARGER_DLL correspondant).

 

Haut de page


  • Aucune étiquette