|
|
|
|
|
- Présentation
- Tâches planifiées dans le Centre de Contrôle HFSQL
- Créer une tâche planifiée
- Supprimer une tâche planifiée
- Modifier une tâche planifiée
- Tâches planifiées par programmation
- Création d'une tâche planifiée
- Historique d'exécution des tâches planifiées
- Manipulation des tâches planifiées en WLangage
- Exemple d'utilisation de la fonction HDéclareExterne dans une procédure stockée
- Exemple de test d'une procédure stockée
HFSQL Client/Serveur : Tâches planifiées
Disponible uniquement avec ce type de connexion
Les tâches planifiées permettent de planifier des tâches automatiques. Il est possible de définir des tâches planifiées au niveau du serveur HFSQL. Ces tâches planifiées correspondent à l'appel d'une procédure stockée. L'appel d'une procédure stockée permet d'exécuter le code de votre choix, par exemple maintenance personnalisée, édition de statistiques, etc. Les tâches planifiées peuvent être gérées : Exécution de plusieurs tâches planifiées successivement : Si la tâche planifiée précédente n'est pas terminée, la nouvelle tâche planifiée ne s'exécute pas, et une notification est envoyée par le serveur.
Tâches planifiées dans le Centre de Contrôle HFSQL Créer une tâche planifiée Dans le Centre de Contrôle HFSQL, les tâches planifiées peuvent être définies au niveau du serveur ou de la base de données. Pour créer une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL et affichez la description du serveur ou d'une de ses bases (double-clic sur le nom du serveur ou de la base dans l'arborescence).
- Cliquez sur l'onglet "Eléments planifiés".
- Dans le ruban, dans le groupe "Eléments planifiés", déroulez "Nouvelle planification" et sélectionnez "Planifier une tâche". L'assistant de création d'une tâche planifiée se lance.
- Sélectionnez le mode d'exécution de la tâche : la tâche peut être exécutée :
- Périodiquement. L'assistant vous permet ensuite de définir la fréquence d'exécution de la tâche.
- et/ou à chaque démarrage du serveur HFSQL. Si cette option est sélectionnée, il est nécessaire d'indiquer si :
- la tâche est bloquante : dans ce cas, le serveur HFSQL sera inaccessible pendant l'exécution de la tâche.
- la tâche doit être exécutée en tâche de fond : dans ce cas, le serveur HFSQL pourra être utilisé dès son démarrage.
- Sélectionnez :
- la base de données contenant la procédure stockée à exécuter.
- la collection contenant la procédure stockée à exécuter.
- la procédure stockée à exécuter.
Attention : Pour qu'une procédure stockée lancée depuis une tâche planifiée accède aux données, il faut utiliser la fonction HDéclareExterne. Cette fonction permet de déclarer des sources de données qui seront utilisées dans les traitements de la procédure stockée. En effet, lorsqu'une procédure stockée est lancée depuis le Centre de Contrôle HFSQL, il n'y a pas d'analyse en cours et les données HFSQL Client/Serveur ne sont pas immédiatement accessibles. Si la fonction HDéclareExterne n'est pas utilisée dans le code de la procédure stockée, la procédure provoquera une erreur fatale, notée dans le journal des événements du système. Remarque : lorsqu'une procédure stockée est lancée depuis une application WINDEV, WEBDEV ou WINDEV Mobile avec la fonction HExécuteProcédure, elle utilise l'analyse de l'application et peut donc utiliser directement des données HFSQL Client/Serveur.
- Définissez la fréquence de la tâche : mois, jour, heure.
- Donnez une description à votre tâche planifiée et validez l'assistant.
- La tâche planifiée apparaît dans l'onglet "Eléments planifiés" du Centre de Contrôle HFSQL.
Supprimer une tâche planifiée Pour supprimer une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL et affichez l'onglet du serveur ou de la base de données voulu.
- Cliquez sur l'onglet "Eléments planifiés".
- Sélectionnez la tâche planifiée à supprimer.
- Dans le ruban, dans le groupe "Eléments planifiés", cliquez sur "Supprimer".
Vous pouvez également utiliser le menu contextuel de l'élément planifié (option "Supprimer").
Modifier une tâche planifiée Pour modifier une tâche planifiée : - Connectez-vous si nécessaire à un serveur HFSQL et affichez l'onglet du serveur ou de la base de données voulu.
- Cliquez sur l'onglet "Eléments planifiés".
- Sélectionnez la tâche planifiée à modifier.
- Dans le ruban, dans le groupe "Eléments planifiés", cliquez sur "Editer".
Vous pouvez également utiliser le menu contextuel de l'élément planifié (option "Editer"). - Une fenêtre de description de l'élément planifié apparaît. Toutes les caractéristiques saisies dans l'assistant sont regroupées sur plusieurs onglets :
- Onglet "Général" : Définit si la tâche est active et son type (sauvegarde ou procédure stockée).
- Onglet "Planification" : Définit les options d'exécution de la tâche planifiée (mois, jour, heure, nombre d'exécutions, exécution au démarrage).
Nouveauté 2025Onglet "Historique des exécutions" : Cet onglet apparaît lorsque la tâche planifiée a été exécutée automatiquement. Cet onglet liste les différentes exécutions automatiques de la tâche planifiée, en indiquant : - la date de début de la tâche,
- l'état de la tache : terminée, en cours, en erreur,
- la durée d'exécution,
- l'utilisateur qui a lancé la tâche,
- si le lancement a été fait manuellement (lancement via la fonction HExécutePlanification).
- Validez.
Tâches planifiées par programmation Création d'une tâche planifiée La gestion des tâches planifiées par programmation est réalisée grâce à une variable de type hTâchePlanifiée et à plusieurs fonctions WLangage. Pour créer une tâche planifiée par programmation : - Créez une variable de type hTâchePlanifiée et décrivez les différentes caractéristiques de la tâche planifiée.
- Ajoutez la tâche planifiée grâce à la fonction HAjoutePlanification (ou la fonction HAjouteTâche).
Remarques : - Pour ajouter une tâche planifiée, il est nécessaire de posséder :
- le droit de gérer les tâches (constante hDroitGèreTâche).
- le droit d'exécuter la commande liée à la tâche planifiée.
- La tâche sera exécutée avec l'identité de l'utilisateur défini par la connexion.
- Par compatibilité, il est également possible de créer une tâche planifiée permettant la sauvegarde de la base. Il est cependant conseillé de créer une sauvegarde planifiée. Pour plus de détails, consultez Comment sauvegarder des bases de données HFSQL Client/Serveur ?.
Nouveauté 2025Historique d'exécution des tâches planifiées Un historique des exécutions est automatiquement enregistré lors de l'exécution automatique de la tâche planifiée (ou lors de son exécution via la fonction HExécutePlanification). Il est possible de manipuler cet historique par programmation, via une variable de type hHistoriquePlanification et les fonctions suivantes :
| | | Liste l'historique d'exécution d'un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | | Supprime l'historique d'exécution d'un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | | Purge la totalité de l'historique d'exécution des éléments planifiés sur un serveur HFSQL. |
Manipulation des tâches planifiées en WLangage Les tâches planifiées peuvent être manipulées via : - les fonctions de gestion des tâches planifiées :
| | HAjouteTâche | Ajoute une tâche planifiée sur le serveur défini par la connexion. | HGèreTâche | Active ou désactive une tâche planifiée d'un serveur HFSQL Client/Serveur. | HInfoTâche | Renvoie les caractéristiques d'une tâche planifiée dans une variable de type hTâchePlanifiée. | HListeTâche | Liste les tâches planifiées d'un serveur HFSQL Client/Serveur pour une connexion donnée. | HModifieTâche | Modifie une tâche planifiée sur le serveur HFSQL défini par la connexion. | HSupprimeTâche | Supprime une tâche planifiée d'un serveur HFSQL Client/Serveur. |
- les fonctions de gestion des éléments planifiés (conseillées) :
| | HAjoutePlanification | Ajoute un nouvel élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation ou rafraîchissement d'une vue matérialisée. | HExécutePlanification | Exécute immédiatement un élément planifié sans tenir compte de sa planification : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HListePlanification | Liste les éléments planifiés définis sur un serveur HFSQL : tâches planifiées (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HModifiePlanification | Modifie un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HSupprimePlanification | Supprime un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. |
Exemple d'utilisation de la fonction HDéclareExterne dans une procédure stockée La procédure suivante déclare un fichier de données avec la fonction HDéclareExterne afin de pouvoir l'utiliser dans une tâche planifiée :
PROCÉDURE NomDeLaProcédureStockée()
SI PAS HFichierExiste(MaConnexion, CODEPOSTAUX) ALORS
SI PAS HDéclareExterne("CODEPOSTAUX.FIC", "CODEPOSTAUX") ALORS
RENVOYER HErreurInfo()
FIN
FIN
RENVOYER ""
Exemple de test d'une procédure stockée Le code suivant permet de tester une procédure stockée dans des conditions similaires à celles de son exécution dans une tâche planifiée :
HFermeAnalyse()
cnxProcedureStockeeHFSQL est une Connexion
cnxProcedureStockeeHFSQL.Provider = hAccèsHFClientServeur
cnxProcedureStockeeHFSQL.Utilisateur = "ADMIN"
cnxProcedureStockeeHFSQL.MotDePasse = ""
cnxProcedureStockeeHFSQL.Serveur = "NomServeur:4900"
cnxProcedureStockeeHFSQL.BaseDeDonnées = "NomBaseDeDonnées"
HOuvreConnexion(cnxProcedureStockeeHFSQL)
SI ErreurDétectée = Vrai ALORS
Erreur("Echec de l'ouverture de la connexion à la base HFSQL", HErreurInfo())
RETOUR
FIN
sRes est une chaîne
sRes = HExécuteProcédure(cnxProcedureStockeeHFSQL, "NomDeLaProcédureStockée")
...
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|