→ Vérification et exécution de scripts de fond planifiés.
Introduction #
Cet outil est destiné à répondre à des besoins très spécifiques. Il permet de vérifier s’il est nécessaire d’exécuter un script afin de modifier des données. L’utilisation de cet outil est strictement réservée aux experts ioi.
Avertissement #
L’utilisation de cet outil peut compromettre la cohérence des données et provoquer des blocages, erreurs ou ruptures de flux.\n**Vous assumez l’entière responsabilité de son utilisation**.
Avant toute utilisation en environnement de production :
- Testez vos scripts dans un environnement sandbox
- Vérifiez la cohérence des données et des flux
- Réalisez une sauvegarde complète
- Informez les utilisateurs d’un éventuel plan de restauration des données en cas d’erreur
Attention
Avertissement de risque élevé : les scripts SQL ne respectent pas nécessairement les règles de cohérence ou les logiques de flux définies par le framework.
Créer un script planifié #
Informations de base #
-
Créez un script planifié dans ioi
-
La description du script est obligatoire
-
Définissez la périodicité :
- À une date précise
- Un jour de la semaine
- Un jour du mois
-
Définir l’heure d’exécution
-
La case à cocher
Is runningindique si un processus en arrière-plan est en cours -
Le bouton
Resetpermet de réinitialiser le statut d’exécution.
Astuce
Utilisez-le uniquement si le serveur a été arrêté pendant l’exécution du script.
Vérification préalable à l’exécution #
Déterminez si une condition doit être vérifiée avant l’exécution du script.\nCe contrôle peut être :
- Désactivé
- Défini en Python
- Défini en SQL
Mode SQL #
Si le résultat de la requête n’est pas nul, le script sera exécuté.
\nExemple :
SELECT name FROM `tabioi Customer` WHERE country_id = 'BE' LIMIT 1;
Mode Python #
Si la variable ret_value (obligatoire) est égale à 1, le script sera exécuté.
\nExemple :
ret_value = 0
sql = "SELECT name FROM `tabioi Customer` WHERE country_id = 'BE' LIMIT 1"
res = frappe.db.sql(sql)
if res:
ret_value = 1
Script à exécuter #
Le script peut être rédigé en Python ou en SQL, selon les besoins.
Tester votre script #
Appuyez sur le bouton Verify.
Fonctionnement du test #
Le script est exécuté jusqu’à son terme, mais un rollback est effectué à la fin du processus.\nCela permet de détecter d’éventuelles erreurs sans impacter les données réelles.
Attention
Ne pas insérer de commandes de validation (commit) dans le script de test.
Exécution immédiate #
Le bouton Launch now permet de lancer immédiatement le script, en ignorant les conditions de date ou de périodicité.
Utilisez cette fonction pour effectuer un test dans un environnement sandbox.