Planificateur de Scripts ioi

Mise à jour le 18 septembre 2026·

→ 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.

Cette page vous a-t-elle aidé ?