Dépannage
Partir du détail de l'exécution : la colonne Erreur de l'étape en échec, puis le Journal. Relancer avec Exécuter avec des paramètres en DEBUG pour voir le SQL de chaque requête.
Une exécution est en FAILED
| Erreur dans la ligne de l'étape | Cause habituelle |
|---|---|
| step timed out after N s | L'étape a dépassé son timeout_seconds (3 600 par défaut). L'augmenter dans jobs.toml, ou découper le traitement. |
| → 404, → 500 (étape http) | L'URL appelée a répondu avec ce code. |
| Une erreur de base de données | Identifiants faux, table absente, contrainte. Tester le pool dans Liberty Next → Administrer → Pools et la requête dans la page du connecteur. |
| cannot import module … / has no attribute … (étape python) | Le plugin n'est pas là où l'indique callable, ou le serveur n'a pas été redémarré après une modification — voir Déployer et déboguer. |
| period … is closed (file_load) | La requête de refus de l'étape a volontairement rejeté le chargement. |
| control total mismatch … (file_load) | Le total chargé diffère du total attendu ; rien n'a été écrit. |
Après correction, ne relancer que l'étape en échec : Exécuter avec des paramètres, décocher les étapes déjà réussies, Run.
Une étape a réussi mais n'a pas fait ce qu'il fallait
Regarder les Lignes affectées et le détail de l'étape, puis relancer en DEBUG : le journal affiche chaque requête avec ses valeurs. Pour un file_load, comparer read / inserted / rejected et télécharger les lignes rejetées.
Une exécution reste RUNNING
Une étape attend quelque chose de lent — une table verrouillée, une API distante, une longue synchronisation. Chaque étape s'arrête à son timeout_seconds, la tâche au sien (4 heures par défaut). Annuler sur la carte de la tâche l'arrête plus tôt.
Annuler n'arrête pas mon étape
Les étapes SQL, HTTP, de chargement de fichier et les fonctions Python async s'arrêtent aussitôt. Une fonction Python écrite avec def s'exécute dans un thread de travail qui ne peut pas être interrompu : l'exécution affiche CANCELED, mais la fonction continue jusqu'à son retour. Écrire les fonctions longues en async — voir Écrire un callable.
La planification ne se déclenche pas
| Vérification | Correction |
|---|---|
| La carte affiche désactivée ou Manuelle | Activer la tâche, ou lui donner une planification. |
| Le jour est faux | Le planificateur numérote les jours de la semaine à partir de 0 = lundi. Écrire mon-fri, pas 1-5 — voir Planifications. |
| L'aperçu Prochaines exécutions n'est pas celui attendu | Corriger le cron ou le fuseau horaire. |
| Le serveur était arrêté à ce moment-là | L'exécution est enregistrée MISSED ; la lancer à la main. |
La tâche n'apparaît pas dans la liste
jobs.toml a été modifié à la main et n'est plus valide : le journal du serveur indique l'erreur. Une clé absente du schéma est refusée — vérifier l'orthographe avec Étapes et Créer une tâche. Après correction du fichier, Recharger la config (en haut de toute page d'édition de Liberty Next).
Le journal est vide
Le niveau de journal de l'exécution est WARNING, ou un plugin Python écrit dans un espace de noms non enregistré — voir Étapes Python personnalisées.
403 sur la page des Tâches
Les pages Nomaflow et leur API sont réservées aux superutilisateurs.