Changeset 112136 in spip-zone


Ignore:
Timestamp:
Oct 24, 2018, 8:02:37 AM (7 months ago)
Author:
jluc@…
Message:

rangement et moins de logs

Location:
_plugins_/cachelab/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cachelab/trunk/inc/cachelab_invalideur.php

    r112104 r112136  
    7878        }
    7979}
     80
     81// le core indique : "Calcul des pages : noter dans la base les liens d'invalidation"
     82//
     83// Appelé à la fin de creer_cache
     84// $page est le tableau décrivant le cache qui vient d'être calculé
     85// avec les clés suivantes pour ses métadonnées :
     86// squelette,source,process_ins,invalideurs,entetes,duree,texte,notes,contexte,lastmodified,sig
     87// http://code.spip.net/@maj_invalideurs
     88//
     89// S'il y a une entete X-Spip-Methode-Duree-Cache, on récupère la méthode
     90// et on appelle la fonction cachelab_calcule_duree_cache_lamethode avec le paramètre $page
     91// On corrige alors la durée du cache avec la valeur retournée
     92//
     93function maj_invalideurs($fichier, &$page) {
     94        if  (LOG_INVALIDATION_CORE) {
     95                // Abondamment appelé. À part pour pas noyer les autres
     96                spip_log ("maj_invalideurs($fichier, &page)", "invalideur_core_maj_invalideurs");
     97        }
     98        if (isset($page['entetes']['X-Spip-Methode-Duree-Cache'])) {
     99                global $Memoization;
     100                // FIXME : ici, le texte est non zipé (cf function creer_cache dans memoization),
     101                // alors que la version mise en cache a peut être été zipée (index gz).
     102                // Il faut soit reziper le texte au besoin, soit récupérer la version cachée :
     103                // $page = $Memoization->get($fichier);
     104                // Ou changer creer_cache pour qu'il appelle maj_invalideurs *avant* d'avoir écrit le cache
     105
     106                $f = 'cachelab_calcule_duree_cache_'.$page['entetes']['X-Spip-Methode-Duree-Cache'];
     107                if (function_exists($f)) {
     108                        $duree = $f($page);
     109                        spip_log ("#CACHE $f (date_creation={$page['contexte']['date_creation']}) renvoie : $duree s", "cachelab");
     110                        $page['duree'] = $duree;
     111                        // On garde un souvenir
     112                        // unset ($page['entetes']['X-Spip-Methode-Duree-Cache']);
     113                        $page['entetes']['X-Spip-Cache']=$duree;
     114
     115                        // Comme memoization, on ajoute une heure histoire de pouvoir tourner
     116                        // sur le cache quand la base de donnees est plantée (à tester)
     117                        $Memoization->set($fichier, $page, 3600+$duree);
     118                }
     119                else
     120                        spip_log ("#CACHE duree cache : a fonction '$f' n'existe pas\n".print_r($page,1), "cachelab_erreur");
     121        }
     122}
  • _plugins_/cachelab/trunk/inc/invalideur.php

    r112103 r112136  
    259259
    260260if  (!defined('LOG_INVALIDATION_CORE'))
    261         define ('LOG_INVALIDATION_CORE', true);
     261        define ('LOG_INVALIDATION_CORE', false);
    262262
    263263// Supprimer les caches marques "x"
     
    295295}
    296296
    297 // le core indique : "Calcul des pages : noter dans la base les liens d'invalidation"
    298 //
    299 // Appelé à la fin de creer_cache
    300 // $page est le tableau décrivant le cache qui vient d'être calculé
    301 // avec les clés suivantes pour ses métadonnées :
    302 // squelette,source,process_ins,invalideurs,entetes,duree,texte,notes,contexte,lastmodified,sig
    303 // http://code.spip.net/@maj_invalideurs
    304 //
    305 // S'il y a une entete X-Spip-Methode-Duree-Cache, on récupère la méthode
    306 // et on appelle la fonction cachelab_calcule_duree_cache_lamethode avec le paramètre $page
    307 // On corrige alors la durée du cache avec la valeur retournée
    308 //
    309 function maj_invalideurs($fichier, &$page) {
    310         if  (LOG_INVALIDATION_CORE) {
    311                 // Abondamment appelé. À part pour pas noyer les autres
    312                 spip_log ("maj_invalideurs($fichier, &page)", "invalideur_core_maj_invalideurs");
    313         }
    314         if (isset($page['entetes']['X-Spip-Methode-Duree-Cache'])) {
    315                 global $Memoization;
    316                 // FIXME : ici, le texte est toujours dézipé (cf function creer_cache dans memoization),
    317                 // alors qu'en cache il peut être zipé.
    318                 // Il faut soit reziper le texte au besoin, soit récupérer la version cachée :
    319                 // $page = $Memoization->get($fichier);
    320 
    321                 $f = 'cachelab_calcule_duree_cache_'.$page['entetes']['X-Spip-Methode-Duree-Cache'];
    322                 spip_log ("Fonction de calcul trouvée : $f et date_creation={$page['contexte']['date_creation']}", "maj_invalideur_CACHE_dynamique");
    323                 if (function_exists($f)) {
    324                         $duree = $f($page);
    325                         $page['duree'] = $duree;
    326                         // On garde un souvenir
    327                         // unset ($page['entetes']['X-Spip-Methode-Duree-Cache']);
    328                         $page['entetes']['X-Spip-Cache']=$duree;
    329 
    330                         // Comme memoization, on ajoute une heure histoire de pouvoir tourner
    331                         // sur le cache quand la base de donnees est plantée (à tester)
    332                         $Memoization->set($fichier, $page, 3600+$duree);
    333                 }
    334                 else
    335                         spip_log ("mais la fonction '$f' n'existe pas\n".print_r($page,1), "maj_invalideur_CACHE_dynamique");
    336         }
    337 }
    338 
    339297// les invalideurs sont en général de la forme "objet/id_objet"
    340298// http://code.spip.net/@insere_invalideur
  • _plugins_/cachelab/trunk/paquet.xml

    r112122 r112136  
    22        prefix="cachelab"
    33        categorie="outil"
    4         version="0.2.1"
     4        version="0.2.2"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.