Bug #23174
optimiser le calcul des demandes expirées
0%
Description
Actuellement on charge toutes les demandes qui sont dans les workflows contenant au moins un saut avec expiration.
C'est assez lourd sur des sites avec des expirations à 45 jours vers une anonymisation.
Cf code est dans wcs/wf/jump.py::_apply_timeouts(publisher)
En SQL on pourrait sans doute faire mieux, ne sélectionner que les formdata a priori concernés par le saut :- déjà, ne prendre que les formdata qui sont dans les statuts contenant une expiration
- et calculer la datetime limite (expiration minimale de l'ensemble des sauts du statut), et ne sélectionner que les formdata dont la last_update_time est plus vieux
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 6 ans
- Fichier 0001-workflow-only-check-expiration-jumps-on-formdata-wit.patch 0001-workflow-only-check-expiration-jumps-on-formdata-wit.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Voilà pour le premier point, qui optimise aussi le fonctionnement hors SQL.
Pour l'autre point je verrais bien un ticket différent, ça demande plus de changements.
Aussi get_with_indexed_value récupère tous les objets, je ne sais pas combien ça peut être. (si c'est important ça pourrait être remplacé par un itérateur)
Mis à jour par Thomas Noël il y a environ 6 ans
Frédéric Péters a écrit :
Voilà pour le premier point, qui optimise aussi le fonctionnement hors SQL.
Pour l'autre point je verrais bien un ticket différent, ça demande plus de changements.
Ok.
Aussi get_with_indexed_value récupère tous les objets, je ne sais pas combien ça peut être. (si c'est important ça pourrait être remplacé par un itérateur)
Effectivement le code actuel récupére et joue les formdata un par un, je serais plus à l'aise de transformer get_with_indexed_value en itérateur dans la foulée, oui. Peut-être faire aussi un ticket pour ça, ou l'inclure ici en tant que partie de l'optimisation.
Mis à jour par Frédéric Péters il y a environ 6 ans
- Lié à Development #23180: sql : changer le get_with_indexed_value pour être un générateur ajouté
Mis à jour par Frédéric Péters il y a environ 6 ans
- Statut changé de En cours à Résolu (à déployer)
commit a5fb918f856138665876c755b5a9f250360d3696 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Apr 13 13:36:11 2018 +0200 workflow: only check expiration jumps on formdata with relevant status (#23174)
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
workflow: only check expiration jumps on formdata with relevant status (#23174)