Aide · silicon ioi

Planificateur de Scripts ioi

Fiche

→ 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 running indique si un processus en arrière-plan est en cours

  • Le bouton Reset permet 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.