Bug #71963
json.decoder.JSONDecodeError lors d'un un update_available_statistics()
0%
Description
Cette trace vue dans des résultats de cron :
combo.apps.dataviz: error: Expecting value: line 1 column 1 (char 0) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/combo/data/management/commands/cron.py", line 48, in handle appconfig.hourly() File "/usr/lib/python3/dist-packages/combo/apps/dataviz/__init__.py", line 34, in hourly update_available_statistics() File "/usr/lib/python3/dist-packages/combo/apps/dataviz/utils.py", line 34, in update_available_statistics result = response.json() File "/usr/lib/python3/dist-packages/requests/models.py", line 900, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.9/json/__init__.py", line 346, in loads return _default_decoder.decode(s) File "/usr/lib/python3.9/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Certainement parce que le response.json() contient tout autre chose que du JSON, il faudrait lever quelque chose de plus clair.
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus d'un an
- Fichier 0001-dataviz-ignore-bad-statistics-provider-result-71963.patch 0001-dataviz-ignore-bad-statistics-provider-result-71963.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
On ignore déjà silencieusement les réponses non 200, j'ai pas fait mieux.
Mis à jour par Paul Marillonnet il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Peut-être une ligne de log de niveau débug qui indique que le fournisseur envoie des trucs pas propres ? Sinon ok pour moi.
Mis à jour par Valentin Deniaud il y a plus d'un an
- Assigné à mis à Thomas Noël
J'ai noté l'explication technique ici #71962#note-4, donc le patch pour supprimer les traces aurait pu être l'ajout d'un allow_redirects=False au requests.get() puis ignorer cette 302 (même résultat mais c'est peut-être faire les choses moins à l'aveugle et continuer à avoir des traces si on reçoit autre chose que du json, m'enfin c'est du détail le patch ici me va).
Mis à jour par Thomas Noël il y a plus d'un an
- Fichier 0001-dataviz-ignore-bad-statistics-provider-result-71963.patch 0001-dataviz-ignore-bad-statistics-provider-result-71963.patch ajouté
- Statut changé de Solution validée à Solution proposée
J'aime bien ce allow_redirects=False et donc voici une version ceinture et bretelles.
Mis à jour par Valentin Deniaud il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Thomas Noël il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit 07ad91b49b97ae54976360860750b967fe1b51b3 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Fri Dec 2 11:35:38 2022 +0100 dataviz: ignore bad statistics provider result (#71963)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
dataviz: ignore bad statistics provider result (#71963)