Exécuter automatiquement des tâches
Certaines tâches peuvent être automatisées dans Logo en créant des fichiers de script et en les chargeant au moment voulu. Cela est utile par exemple pour la création régulière de sauvegardes, l'importation ou l'exportation régulière de certaines données ou la production de certains rapports.
Les fichiers de script peuvent être créés directement à partir de la boîte de dialogue de la tâche, puis exécutés dans Logo via Fichier > Scripts.
Fichiers script
Enregistrer un fichier script
En bas à gauche de la boîte de dialogue de la tâche requise se trouvent les fonctions de script.
Copier les paramètres en tant que tâche dans le presse-papier – Copie uniquement les paramètres de la tâche en cours pour les coller dans un script existant.
Copier les paramètres en tant que script dans le presse-papier – Copie les paramètres de la tâche, y compris les informations requises, afin de les coller quelque part sous forme de script.
Enregistrer le script dans le fichier – Enregistre les paramètres de la tâche directement sous forme de script dans un fichier texte.
Exemple d’un fichier script
; -------------------------------------------------------------------------
; Ligne de départ avec spécification de la tâche (valeur de ProductGroup)
@GEOLOGIX_SCRIPT Logo12
; Spécification des variables qui peuvent être utilisées dans les paramètres.
@VARIABLE InputDirectory=D:\Scripts\Input
@VARIABLE OutputDirectory=D:\Scrips\Output
@VARIABLE Prefix=Import_Drain
; Spécification facultative d'un fichier journal
@LOGFILE %OutputDirectory%\Logs\%Filename%_%Date%.log
; -------------------------------------------------------------------------
@TASK BACKUPDATEN
@COMMENT Backup de la base de données
EReportFile=%OutputDirectory%\Backup.zip
@ENDTASK
; -------------------------------------------------------------------------
@TASK RAPPORTDESARRETS
@COMMENT Arrêts
FFilename=%OutputDirectory%\Rapport_Arrets.xlsx
@ENDTASK
; -------------------------------------------------------------------------
@TASK DRAINIMPORTCHAMBRES
@COMMENT Drain\Import d'Excel\1. chambres
Filename=%InputDirectory%\%Prefix%_chambre.xls
@ENDTASK
; -------------------------------------------------------------------------
; Avec les commandes @INCLUDE des fichiers de script supplémentaires peuvent être inclus.
; Ces fichiers include ne peuvent contenir que des blocs @TASK ou des requêtes @INCLUDE supplémentaires.
@INCLUDE Export_Base_Sections.txt
Mots clés / commandes prédéfinis
Mots-clés | Description | Exemple |
---|---|---|
| Précise l'application à laquelle le fichier de script appartient. Ces informations n'ont généralement pas besoin d'être modifiées. |
|
| Définit des variables pour une utilisation ultérieure dans le script |
|
| Définit un fichier journal. Le journal de la tâche est ensuite enregistré dans ce fichier. La spécification d'un fichier journal est fortement recommandée pour le suivi et le débogage. |
|
| Identification de la tâche. Ces informations ne doivent généralement pas être modifiées. |
|
| Commentaire sur la tâche. Ce message est affiché dans l'application pendant l'exécution. Par exemple, des indications sur les filtres peuvent être notées. |
|
| Avec @INCLUDE, des fichiers de script supplémentaires peuvent être inclus. Ces fichiers ne peuvent contenir que des blocs @TASK ou des déclarations @INCLUDE supplémentaires. Les e-mails ne sont envoyés que si le script est exécuté via un appel en ligne de commande (voir ci-dessous). |
|
| Les résultats du script exécuté peuvent être envoyés par e-mail via @LOGEMAILS. Indication pour l'objet de ces e-mails. Cette fonctionnalité n'est actuellement disponible que pour les projets sur les serveurs de Begasoft. |
|
Variables prédéfinies
Les variables suivantes sont prédéfinies et peuvent être utilisées dans les fichiers de script :
Variable | Description | Exemple - Entrée | Exemple - Résultat |
---|---|---|---|
Today | Date actuelle | D:\Rapport_%Today%.xlsx | D:\Rapport_20200311.xlsx |
Date | Date actuelle sous la forme yyyymmdd | D:\Rapport_%Date%.xlsx | D:\Rapport_20200311.xlsx |
Time | Heure actuelle sous la forme hhmmss | D:\Rapport_%Time%.xlsx | D:\Rapport_130417.xlsx |
Filename | Nom du fichier de script sans extension de fichier | D:\%Filename%_%Date%.log dans le fichier script | D:\RapportKuba_20200311.log |
Projectname | Nom du projet (du fichier INI) | %Projectname%_%Date% | Kantonsstrassen_ZH_20241028 |
IniFile | Bezeichnung der Ini-Datei | %IniFile%_%Today% | Logo_Kt.Zürch_20241028 |
Exécution de tâches dans des fichiers de script
Si un fichier script a été créé ou enregistré, il peut être appelé via le menu Fichier > Scripts et les tâches qu'il contient peuvent être exécutées. Si un fichier script contient plusieurs tâches, il est possible d'exécuter soit des tâches individuelles, soit toutes les tâches.
Windows Task Scheduler
Exécution de scripts via Windows Command Prompt
Si les tâches doivent être exécutées régulièrement et à des moments précis, le planificateur de tâches de Windows peut être utilisé. Pour cela, il faut disposer des informations suivantes en plus du fichier script :
Chemin d'accès à Logo.exe, qui doit être démarré
Spécification du fichier INI à utiliser (si celui-ci ne se trouve pas dans le même répertoire que Logo.exe, le chemin d'accès complet doit être spécifié)
Spécification du (des) fichier(s) de script à exécuter
Ces informations peuvent être soit saisies directement dans le planificateur de Windows, soit enregistrées dans un fichier texte avec l'extension *.cmd, qui est ensuite inclus dans le planificateur.
\\server01\Logo12\Logo12.exe -config CtValais.ini -script D:\LOGO\batch_signalshp.txt
Dans cet exemple, Logo12.exe est lancé, la base de données du Canton du Valais est ouverte et l'exportation par lots des signaux vers un shapefile est exécutée.
Si des données doivent être exportées vers un fichier (ex : shapefile), il faut s'assurer que le fichier correspondant n'est pas bloqué par quelqu'un au moment de l'exportation.
Vider la corbeille à papier via la ligne de commande
Au démarrage de Logo, les objets qui ont dépassé la période définie sont supprimés de la corbeille. Selon le nombre d'objets qui doivent être supprimés de la corbeille, cela peut prendre plus de temps.
Pour effectuer cette étape en dehors des heures de travail, la corbeille peut être exécutée via l'entrée suivante du planificateur de tâches Windows.
Logo12.exe -checkemptyrecyclebin
Problèmes et solutions
Problèmes avec les accents / caractères spéciaux
La solution consiste à ouvrir le fichier script dans l'éditeur et à l'enregistrer avec le jeu de caractèresUTF8 avec BOM
.
Par sécurité, tous les scripts utilisés dans Logo devraient être enregistrés dans le jeu de caractèresUTF8 avec BOM
, dans le cas contraire ils pourraient ne pas fonctionner correctement lors de leur exécution dans Logo.