[SPIP Zone] [Cachelab] - html en cache supprimé malgré derniere_modif_invalide=false et durée du cache non écoulée

Bonsoir,

Cachelab + Memoization/filecache + jusqueminuit

$GLOBALS['derniere_modif_invalide'] = false;

Y compris avec $GLOBALS['derniere_modif_invalide'] = false et un
recalcul du cache demandé à minuit 5 pour des articles, ceux-ci sont
quelquefois recalculés avant la fin du délai.

#CACHE{24*3600, duree minuit id_article}

J'ai pu constater que le html en cache
(tmp/cache/nn/hhhlhlllshxcl.html) était quelquefois supprimé avant la
fin de validité de celui-ci.

grep -rn "\"id_article\";s:4:\"nnnn\""
/home/domain.tld/public_html/tmp/cache/

Je cherche l'événement qui peut provoquer cela.

Cordialement,

Eric

 A - [Wed Jan 09 00:29:23.910374 2019] [proxy_fcgi:error] [pid 1991:tid
140709214254848] [client ccc.ccc.ccc.ccc:36522] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
84937secondes\n'
A - [Wed Jan 09 01:06:12.973254 2019] [proxy_fcgi:error] [pid 1990:tid
140709147113216] [client ddd.ddd.ddd.ddd:52449] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
82728secondes\n', referer: https://www.google.com/
B - [Wed Jan 09 20:22:45.305146 2019] [proxy_fcgi:error] [pid 1990:tid
140708910163712] [client eee.eee.eee.eee:37644] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
13335secondes\n', referer: https://www.domain.tld/resume.html

vers 19h00 : en cache : manque cache article (2 calculs ont cependant
précédé -A : Jan 09 00:29:23.910374 2019, Jan 09 01:06:12.973254 2019)

grep -rn "\"id_article\";s:4:\"aaaa\""
/home/domain/public_html/tmp/cache/
/home/domain/public_html/tmp/cache/47/4d:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:3;i:4;i:3;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
09:59:46";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
09:59:46";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470243
84;s:3:"sig";i:1944953428;}i:1;s:51:"cache:20f70fc273f6656546a137732636
49ec-inc-rss-item";i:2;i:1547114386;}
/home/domain/public_html/tmp/cache/c9/ae:32:";s:5:"notes";s:0:"";s:8:"c
ontexte";a:6:{s:10:"id_article";s:4:"aaaa";s:4:"lang";s:2:"fr";s:4:"dat
e";s:19:"2019-01-09
13:01:16";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
13:01:16";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470352
74;s:3:"sig";i:1944953428;}i:1;s:51:"cache:ed80aa6739dffc8575a335dcfbb0
396c-inc-rss-item";i:2;i:1547125276;}
/home/domain/public_html/tmp/cache/4a/e0:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:2;i:4;i:2;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
11:00:45";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
11:00:45";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470280
42;s:3:"sig";i:1944953428;}i:1;s:51:"cache:0cc0d41c586773c97ad0780bf54c
d3ca-inc-rss-item";i:2;i:1547118045;}

affiche la page : calcul : -B : Jan 09 20:22:45.305146 2019 :

grep -rn "\"id_article\";s:4:\"aaaa\""
/home/domain/public_html/tmp/cache/

-B
/home/domain/public_html/tmp/cache/b7/78:805:";s:5:"notes";s:0:"";s:8:"
contexte";a:6:{s:11:"id_rubrique";s:3:"153";s:10:"id_article";s:4:"2323
";s:4:"date";s:19:"2019-01-09
20:22:43";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
20:22:43";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470617
63;s:3:"sig";i:2129309611;}i:1;s:151:"cache:c118c4106e08b8742cf7600bedd
f04cf-/folder/article";i:2;i:1547078700;}

/home/domain/public_html/tmp/cache/47/4d:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:3;i:4;i:3;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
09:59:46";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
09:59:46";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470243
84;s:3:"sig";i:1944953428;}i:1;s:51:"cache:20f70fc273f6656546a137732636
49ec-inc-rss-item";i:2;i:1547114386;}
/home/domain/public_html/tmp/cache/c9/ae:32:";s:5:"notes";s:0:"";s:8:"c
ontexte";a:6:{s:10:"id_article";s:4:"aaaa";s:4:"lang";s:2:"fr";s:4:"dat
e";s:19:"2019-01-09
13:01:16";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
13:01:16";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470352
74;s:3:"sig";i:1944953428;}i:1;s:51:"cache:ed80aa6739dffc8575a335dcfbb0
396c-inc-rss-item";i:2;i:1547125276;}
/home/domain/public_html/tmp/cache/4a/e0:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:2;i:4;i:2;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
11:00:45";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
11:00:45";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470280
42;s:3:"sig";i:1944953428;}i:1;s:51:"cache:0cc0d41c586773c97ad0780bf54c
d3ca-inc-rss-item";i:2;i:1547118045;}

Dans quels fichiers trouves tu ces logs ?
Je ne sais pas d'où vient ce "Got error"
dont le message n'a pas l'air complet.
JLuc

Le 09/01/2019 à 21:22, eric a écrit :

  A - [Wed Jan 09 00:29:23.910374 2019] [proxy_fcgi:error] [pid 1991:tid
140709214254848] [client ccc.ccc.ccc.ccc:36522] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
84937secondes\n'
A - [Wed Jan 09 01:06:12.973254 2019] [proxy_fcgi:error] [pid 1990:tid
140709147113216] [client ddd.ddd.ddd.ddd:52449] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
82728secondes\n', referer: https://www.google.com/
B - [Wed Jan 09 20:22:45.305146 2019] [proxy_fcgi:error] [pid 1990:tid
140708910163712] [client eee.eee.eee.eee:37644] AH01071: Got error 'PHP
message: Recalcul squelette cachelab article 2323 pour :
13335secondes\n', referer: https://www.domain.tld/resume.html

vers 19h00 : en cache : manque cache article (2 calculs ont cependant
précédé -A : Jan 09 00:29:23.910374 2019, Jan 09 01:06:12.973254 2019)

grep -rn "\"id_article\";s:4:\"aaaa\""
/home/domain/public_html/tmp/cache/
/home/domain/public_html/tmp/cache/47/4d:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:3;i:4;i:3;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
09:59:46";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
09:59:46";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470243
84;s:3:"sig";i:1944953428;}i:1;s:51:"cache:20f70fc273f6656546a137732636
49ec-inc-rss-item";i:2;i:1547114386;}
/home/domain/public_html/tmp/cache/c9/ae:32:";s:5:"notes";s:0:"";s:8:"c
ontexte";a:6:{s:10:"id_article";s:4:"aaaa";s:4:"lang";s:2:"fr";s:4:"dat
e";s:19:"2019-01-09
13:01:16";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
13:01:16";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470352
74;s:3:"sig";i:1944953428;}i:1;s:51:"cache:ed80aa6739dffc8575a335dcfbb0
396c-inc-rss-item";i:2;i:1547125276;}
/home/domain/public_html/tmp/cache/4a/e0:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:2;i:4;i:2;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
11:00:45";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
11:00:45";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470280
42;s:3:"sig";i:1944953428;}i:1;s:51:"cache:0cc0d41c586773c97ad0780bf54c
d3ca-inc-rss-item";i:2;i:1547118045;}

affiche la page : calcul : -B : Jan 09 20:22:45.305146 2019 :

grep -rn "\"id_article\";s:4:\"aaaa\""
/home/domain/public_html/tmp/cache/

-B
/home/domain/public_html/tmp/cache/b7/78:805:";s:5:"notes";s:0:"";s:8:"
contexte";a:6:{s:11:"id_rubrique";s:3:"153";s:10:"id_article";s:4:"2323
";s:4:"date";s:19:"2019-01-09
20:22:43";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
20:22:43";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470617
63;s:3:"sig";i:2129309611;}i:1;s:151:"cache:c118c4106e08b8742cf7600bedd
f04cf-/folder/article";i:2;i:1547078700;}

/home/domain/public_html/tmp/cache/47/4d:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:3;i:4;i:3;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aaa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
09:59:46";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
09:59:46";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470243
84;s:3:"sig";i:1944953428;}i:1;s:51:"cache:20f70fc273f6656546a137732636
49ec-inc-rss-item";i:2;i:1547114386;}
/home/domain/public_html/tmp/cache/c9/ae:32:";s:5:"notes";s:0:"";s:8:"c
ontexte";a:6:{s:10:"id_article";s:4:"aaaa";s:4:"lang";s:2:"fr";s:4:"dat
e";s:19:"2019-01-09
13:01:16";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
13:01:16";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470352
74;s:3:"sig";i:1944953428;}i:1;s:51:"cache:ed80aa6739dffc8575a335dcfbb0
396c-inc-rss-item";i:2;i:1547125276;}
/home/domain/public_html/tmp/cache/4a/e0:32:";s:5:"notes";a:5:{i:0;N;i:
1;N;i:2;N;i:3;i:2;i:4;i:2;}s:8:"contexte";a:6:{s:10:"id_article";s:4:"a
aa";s:4:"lang";s:2:"fr";s:4:"date";s:19:"2019-01-09
11:00:45";s:12:"date_default";b:1;s:10:"date_redac";s:19:"2019-01-09
11:00:45";s:18:"date_redac_default";b:1;}s:12:"lastmodified";i:15470280
42;s:3:"sig";i:1944953428;}i:1;s:51:"cache:0cc0d41c586773c97ad0780bf54c
d3ca-inc-rss-item";i:2;i:1547118045;}

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Le 09/01/2019 à 20:26, eric a écrit :

Cachelab + Memoization/filecache + jusqueminuit
$GLOBALS['derniere_modif_invalide'] = false;

Y compris avec $GLOBALS['derniere_modif_invalide'] = false et un
recalcul du cache demandé à minuit 5 pour des articles, ceux-ci sont
quelquefois recalculés avant la fin du délai.
Je cherche l'événement qui peut provoquer cela.

Un paramétrage permet d'en savoir plus sur les invalidations.
Ajoute dans ton fichier d'options : define ('LOG_INVALIDATION_CORE', true);
et plusieurs fichiers de logs seront générés, qui te donneront plus d'infos.
Dit moi s'il manque des infos ensuite.

JLuc

> Cachelab + Memoization/filecache + jusqueminuit
> $GLOBALS['derniere_modif_invalide'] = false;
>
> Y compris avec $GLOBALS['derniere_modif_invalide'] = false et un
> recalcul du cache demandé à minuit 5 pour des articles, ceux-ci
> sont
> quelquefois recalculés avant la fin du délai.
> Je cherche l'événement qui peut provoquer cela.
Un paramétrage permet d'en savoir plus sur les invalidations.
Ajoute dans ton fichier d'options : define ('LOG_INVALIDATION_CORE',
true);
et plusieurs fichiers de logs seront générés, qui te donneront plus
d'infos.
Dit moi s'il manque des infos ensuite.

Bonjour,

Je n'ai pas eu le temps d'observer dans le détail et n'est donc pas
activé les logs avec define ('LOG_INVALIDATION_CORE', true); .

Cependant, un article avec le filtre jusqueminuit (pas de recalcul
avant le lendemain minuit) a été recalculé à chaque visite lors de la
journée du 27/01 .

Les visiteurs avaient tous la chaîne "googleweblight" dans le User
Agent.

J'ai changé le regex pour Google dans ecran_securite.php :

+ googlebot
- google

Par ailleurs, sur un article utilisant également le filtre
jusqueminuit, fréquemment visité par les humains et crawlé par Google
(plusieurs fois par jour quelquefois), les recalculs inopinés semble
toujours intervenir après une visite de Googlebot.

Cordialement,

Eric

Les visiteurs avaient tous la chaîne "googleweblight" dans le User
Agent.

Le 29/01/2019 à 14:51, eric a écrit :

Je n'ai pas eu le temps d'observer dans le détail et n'est donc pas
activé les logs avec define ('LOG_INVALIDATION_CORE', true); .

ça donne toutes les raisons d'invalidation
mais dans ton cas peut être ça ne donnera rien d'intéressant.

Cependant, un article avec le filtre jusqueminuit (pas de recalcul
avant le lendemain minuit) a été recalculé à chaque visite lors de la
journée du 27/01 .
Les visiteurs avaient tous la chaîne "googleweblight" dans le User
Agent.

Au vu de tes divers témoignages on dirait que
tu transmet tout l'environnement reçu de l'url au squelette.
Du coup dès qu'il y a un argument paraisite (comme le fbclid auparavant)
il faut un nouveau cache qui doit être calculé.
Ce sont des calculs, pas des recalculs.

Pour éviter cela, il faudrait ne passer QUE les arguments strictement requis
à la noisette pour laquelle tu spécifies une durée de cache jusqueminuit.

Donc si c'est pas déjà fait, met ce bloc dans un <inclure>
et passe lui explicitement les seules infos dont il a besoin,
pas tout l'env.

J'ai changé le regex pour Google dans ecran_securite.php :
+ googlebot
- google

Ce serait à reporter dans le core.
Je vois aussi que les cartes leaflet passent très mal via google "web light".

JL

Le 30/01/2019 à 09:10, JLuc a écrit :

J'ai changé le regex pour Google dans ecran_securite.php :
+ googlebot
- google

Ce serait à reporter dans le core.

Euh non, je crois qu'il pas qu'il faille le bannir avec l'écran,
car ce weblight ne sert pas à *indexer* le web, mais à le *consulter*,
et derrière chaque user-agent weblight il y a un utilisateur qui surfe sur android.

( cf Latest Google Search Documentation Updates | Google Search Central  |  What's new  |  Google for Developers )
JL