Projet

Général

Profil

Bug #23174

optimiser le calcul des demandes expirées

Ajouté par Thomas Noël il y a environ 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
13 avril 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Lié à w.c.s. - Development #23180: sql : changer le get_with_indexed_value pour être un générateurFermé13 avril 2018

Actions

Révisions associées

Révision a5fb918f (diff)
Ajouté par Frédéric Péters il y a environ 6 ans

workflow: only check expiration jumps on formdata with relevant status (#23174)

Historique

#2

Mis à jour par Frédéric Péters il y a environ 6 ans

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)

#3

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.

#4

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é
#5

Mis à jour par Thomas Noël il y a environ 6 ans

Maintenant qu'on a le générateur (#23180) : ack.

#6

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)
#7

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

Formats disponibles : Atom PDF