Update of /home/spip-cvs/spip/ecrire
In directory alan:/tmp/cvs-serv541/ecrire
Modified Files:
inc_cron.php3 inc_version.php3
Log Message:
gestion d'un quota sur la taille du CACHE/
Index: inc_cron.php3
RCS file: /home/spip-cvs/spip/ecrire/inc_cron.php3,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- inc_cron.php3 22 Aug 2004 16:38:32 -0000 1.12
+++ inc_cron.php3 22 Aug 2004 19:45:45 -0000 1.13
@@ -149,6 +149,30 @@
calculer_rubriques();
}
+ //
+ // En cas de quota sur le CACHE/, nettoyer les fichiers les plus vieux
+ //
+ global $quota_cache;
+ if ($quota_cache > 0)
+ if ($t - lire_meta('quota_cache_vider') > 3600) {
+ ecrire_meta('quota_cache_vider', $t);
+ ecrire_metas();
+ if ($q = spip_query("SELECT SUM(taille) FROM spip_caches WHERE type='t'"))
+ list ($total_cache) = spip_fetch_array($q);
+
+ $total_cache -= $quota_cache*1024*1024;
+ if ($total_cache > 0) {
+ $q = spip_query("SELECT id, taille FROM spip_caches ORDER BY id");
+ while ($r = spip_fetch_array($q)
+ AND ($total_cache > $taille_supprimee)) {
+ $date_limite = $r['id'];
+ $taille_supprimee += $r['taille'];
+ }
+ spip_log ("Quota cache: efface $taille_supprimee octets");
+ include_ecrire('inc_invalideur.php3');
+ suivre_invalideur("id <= $date_limite AND type='t'");
+ }
+ }
//
// Gerer l'indexation
Index: inc_version.php3
RCS file: /home/spip-cvs/spip/ecrire/inc_version.php3,v
retrieving revision 1.342
retrieving revision 1.343
diff -u -d -r1.342 -r1.343
--- inc_version.php3 22 Aug 2004 16:38:32 -0000 1.342
+++ inc_version.php3 22 Aug 2004 19:45:45 -0000 1.343
@@ -153,6 +153,12 @@
# car les forums sont toujours invalidants.
$invalider_caches = true;
+// Quota : la variable $quota_cache, si elle est > 0, indique la taille
+// totale maximale desiree des fichiers contenus dans le CACHE/ ;
+// ce quota n’est pas « dur », il ne s’applique qu’une fois par heure et
+// fait redescendre le cache a la taille voulue ; valeur en Mo
+$quota_cache = 0;
+
// Serveurs externes
$spip_server = array (
‹ tex › => ‹ http://math.spip.org/tex.php ›,