1
0
forked from ScoDoc/ScoDoc

suite réorganisation calculs

This commit is contained in:
Emmanuel Viennet 2022-01-07 15:08:45 +01:00
parent af48eb8fb8
commit da1a2ccf43
4 changed files with 17 additions and 13 deletions

View File

@ -8,7 +8,7 @@
""" """
from app.comp import moy_ue, moy_sem, inscr_mod from app.comp import moy_ue, moy_sem, inscr_mod
from app.comp.res_sem import NotesTableCompat from app.comp.res_common import NotesTableCompat
class ResultatsSemestreBUT(NotesTableCompat): class ResultatsSemestreBUT(NotesTableCompat):

View File

@ -9,7 +9,7 @@
import numpy as np import numpy as np
import pandas as pd import pandas as pd
from app.comp import moy_mod, moy_ue, moy_sem, inscr_mod from app.comp import moy_mod, moy_ue, moy_sem, inscr_mod
from app.comp.res_sem import NotesTableCompat from app.comp.res_common import NotesTableCompat
from app.models.formsemestre import FormSemestre from app.models.formsemestre import FormSemestre

View File

@ -155,16 +155,6 @@ class EvaluationCache(ScoDocCache):
cls.delete_many(evaluation_ids) cls.delete_many(evaluation_ids)
class ResultatsSemestreCache(ScoDocCache):
"""Cache pour les résultats ResultatsSemestre.
Clé: formsemestre_id
Valeur: { un paquet de dataframes }
"""
prefix = "RSEM"
timeout = 60 * 60 # ttl 1 heure (en phase de mise au point)
class AbsSemEtudCache(ScoDocCache): class AbsSemEtudCache(ScoDocCache):
"""Cache pour les comptes d'absences d'un étudiant dans un semestre. """Cache pour les comptes d'absences d'un étudiant dans un semestre.
Ce cache étant indépendant des semestres, le compte peut être faux lorsqu'on Ce cache étant indépendant des semestres, le compte peut être faux lorsqu'on
@ -224,7 +214,9 @@ class NotesTableCache(ScoDocCache):
def get(cls, formsemestre_id, compute=True): def get(cls, formsemestre_id, compute=True):
"""Returns NotesTable for this formsemestre """Returns NotesTable for this formsemestre
Search in local cache (g.nt_cache) or global app cache (eg REDIS) Search in local cache (g.nt_cache) or global app cache (eg REDIS)
If not in cache and compute is True, build it and cache it. If not in cache:
If compute is True, build it and cache it
Else return None
""" """
# try local cache (same request) # try local cache (same request)
if not hasattr(g, "nt_cache"): if not hasattr(g, "nt_cache"):
@ -322,3 +314,15 @@ class DefferedSemCacheManager:
while g.sem_to_invalidate: while g.sem_to_invalidate:
formsemestre_id = g.sem_to_invalidate.pop() formsemestre_id = g.sem_to_invalidate.pop()
invalidate_formsemestre(formsemestre_id) invalidate_formsemestre(formsemestre_id)
# ---- Nouvelles classes ScoDoc 9.2
@classmethod
class ResultatsSemestreCache(ScoDocCache):
"""Cache pour les résultats ResultatsSemestre.
Clé: formsemestre_id
Valeur: { un paquet de dataframes }
"""
prefix = "RSEM"
timeout = 60 * 60 # ttl 1 heure (en phase de mise au point)