Development #24645
enregistrer les erreurs de calcul sur les champs backoffice (mais ne plus notifier par mail)
0%
Description
Comme dans #24327, offrir la possibilité sur compute et l'utiliser pour remonter les pépins de calcul sur les champs backoffice.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Thomas Noël il y a presque 6 ans
- Fichier 0001-wf-backoffice_fields-only-log-condition-errors-as-fu.patch 0001-wf-backoffice_fields-only-log-condition-errors-as-fu.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Rien de bien spécial à dire, mais deux notify_of_exception en moins, je suis content.
Mis à jour par Thomas Noël il y a presque 6 ans
Auto-relecture : peut-être que le summary des LoggedError avec le '%(result)r' n'est pas assez stable, puisqu'il génère un slug via simplify(self.summary) et qu'on cherche quand même à ce que ce slug reste unique sur une erreur donnée.
Mis à jour par Frédéric Péters il y a presque 6 ans
new_value.__class__.__name__,
même si les classes ancien style donneront un résultat moins satisfaisant, je préférerais comme dans le /inspect un type(value)
Auto-relecture : peut-être que le summary des LoggedError avec le '%(result)r' n'est pas assez stable, puisqu'il génère un slug via simplify(self.summary) et qu'on cherche quand même à ce que ce slug reste unique sur une erreur donnée.
Effectivement %(result)r mais également %(value)s, ça va multiplier les enregistrements pour une même origine; comme c'est a priori utile d'avoir ces infos, les mettre dans des attributs supplémentaires de LoggedError ?
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
- Statut changé de Solution proposée à En cours
Je remet en "En cours" puisque visiblement ce patch n'est pas encore poussable.
Mis à jour par Thomas Noël il y a presque 6 ans
- Fichier 0001-wf-backoffice_fields-log-compute-errors-as-functiona.patch 0001-wf-backoffice_fields-log-compute-errors-as-functiona.patch ajouté
- Statut changé de En cours à Solution proposée
Une version qui utilise les attributs expression, expression_type et error_message ajoutés dans #24645. On a ainsi un summary plus sommaire.
Mis à jour par Frédéric Péters il y a presque 6 ans
ajoutés dans #24645
Mauvaise référence on est dans #24645.
Dans la pratique, est-ce que la plupart des erreurs ce n'est pas plutôt ici :
try: new_value = self.compute(field['value'], raises=True, formdata=formdata, status_item=self) except: continue
(j'essaie en local de taper une erreur qui se trouverait logguée, et j'échoue : une exception quelconque (genre 1/0) se trouve ignorée par le code précédent et un mauvais type (entier pour champ texte) lève quand même une trace).
Mis à jour par Frédéric Péters il y a presque 6 ans
TypeError: "record() got an unexpected keyword argument 'expression'"
Bon en fait c'est parce que cachée il y a cette exception qui survient; ça doit être lié à "ajoutés dans #24645", mais quel est donc le vrai ticket d'où tirer un patch ?
Mis à jour par Thomas Noël il y a presque 6 ans
Frédéric Péters a écrit :
TypeError: "record() got an unexpected keyword argument 'expression'"
Bon en fait c'est parce que cachée il y a cette exception qui survient; ça doit être lié à "ajoutés dans #24645", mais quel est donc le vrai ticket d'où tirer un patch ?
Fatigue, désolé, c'était #24472 qui contient le travail de départ sur LoggedErrors, à relire en premier donc.
Mis à jour par Thomas Noël il y a presque 6 ans
- Suit Development #24472: enregistrer les erreurs sur les conditions dans les workflows ajouté
Mis à jour par Thomas Noël il y a presque 6 ans
- Fichier 0001-wf-backoffice_fields-log-compute-errors-as-functiona.patch 0001-wf-backoffice_fields-log-compute-errors-as-functiona.patch ajouté
- Statut changé de En cours à Solution proposée
Voici une version plus simple et plus efficace, qui utilise l'enregistrement de l'exception, gagnée dans #24472.
Mis à jour par Frédéric Péters il y a presque 6 ans
- Statut changé de Solution proposée à Solution validée
J'aurais juste laissé "Template" en minuscule dans "Failed to compute Template", et "Expression" dans "Failed to compute Python Expression".
À part ça, ack.
Mis à jour par Thomas Noël il y a presque 6 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 7d2e14a1f2645a01b1ed76fb52019d4817ba75c2 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Tue Jun 19 15:04:19 2018 +0200 wf/backoffice_fields: log compute errors as functional errors only (#24645)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
wf/backoffice_fields: log compute errors as functional errors only (#24645)