Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet Cerdic
Tu as aussi define(‘_HTML_BG_CRON_FORCE’,true) qui permet d’insérer l’appel au 
CRON dans le HTML de toutes les pages, à l'ancienne

--
Cédric
Le 11 juin 2019 à 18:31 +0200, JLuc , a écrit :
> Le 11/06/2019 à 11:10, Cerdic a écrit :
> > Pour être précis, il faudrait écrire « Avec un varnish mal configuré » ou « 
> > pas du tout configuré pour SPIP »
>
> La configuration au niveau du serveur n'est pas faite spécialement pour SPIP,
> mais d'autres configurations sont faites dans le htaccess du site.
>
> > Car dans sa proposition de configuration Fil tenait compte du cron,
> Il ne fait pas grand chose : que limiter
> > et je connais un hébergeur qui utilise Varnish sans
> > aucun problème avec l’execution des crons en utilisant un réglage 
> > comparable…
>
> C'est super cet hébergeur :-)
> Vive les hébergements douillets pour SPIP !
>
> À défaut de ce confort, pour l'instant j'ai inséré un appel au super_cron 
> (aprés fix) en php dans le footer de chaque
> page. Ce code n'est appelé que pour les pages qui ne sortent pas du varnish 
> donc pas souvent, mais justement, notamment,
> quand il y a besoin : aprés la validation d'un formulaire. Ça semble bien 
> marcher.
> Ouf !
>
> JLuc
>
>
> > Le 11 juin 2019 à 08:53 +0200, JLuc , a écrit :
> > > Hello
> > >
> > > Sur un site derrière un varnish, les jobs ne sont plus exécutés que très 
> > > épisodiquement,
> > > semble t il.
> > >
> > > Le problème se pose notamment
> > > pour les mails d'authentification d'une inscription ou de rappel de mot 
> > > de passe,
> > > qui mettent tellement longtemps à partir que l'internaute s'inquiète et 
> > > recommence
> > > et contacte le support finalement...
> > > C'est un site avec un millier de visite par jours environ
> > >
> > > j'ai proposé le plugin "accelerer_job" qui permet de forcer l'exécution
> > > d'un certain nombre de jobs filtrés par l'action, notamment via un bouton 
> > > interactif.
> > > https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/accelerer_jobs/trunk
> > >
> > > Ça marche très bien dans l'extranet qui n'est pas varnishé,
> > > et ce serait parfait par exemple pour forcer la synchronisation des 
> > > mailsubscribinglist automatiques
> > > dans le plugin mailsubscriber (todo ?)
> > >
> > > C'est toutefois un peu rustre de proposer ce bouton dans le public 
> > > (encore que ça aide à patienter !)
> > > et de plus dans le public le texte du bouton y est aussi caché par 
> > > varnish donc pas à jour.
> > >
> > > Je pense qu'il faudrait insérer un code javascript dans le html
> > > pour appeler en asynchrone une page qui envoie les mails arrivés à 
> > > échéance.
> > >
> > > C'est le même problème que pour les statistiques, ce pour quoi il existe
> > > https://plugins.spip.net/statsjs.html
> > > et qui utilise affichage_final pour insérer le code javascript.
> > > Sur un site dont on construit le squelette, il vaut probablement mieux 
> > > insérer dans le footer qu'utiliser
> > > affichage_final mais ça semble une bonne inspiration.
> > >
> > > Est-ce que je loupe qqchose ?
> > > Y a til une autre piste ?
> > >
> > > JL
> > >
> > > 
> > > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
> >
> > 
> > spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone
> >
>
>
> 
> spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet JLuc

Le 11/06/2019 à 11:10, Cerdic a écrit :

Pour être précis, il faudrait écrire « Avec un varnish mal configuré » ou « pas 
du tout configuré pour SPIP »


La configuration au niveau du serveur n'est pas faite spécialement pour SPIP,
mais d'autres configurations sont faites dans le htaccess du site.

Car dans sa proposition de configuration Fil tenait compte du cron, 

Il ne fait pas grand chose : que limiter
et je connais un hébergeur qui utilise Varnish sans 
aucun problème avec l’execution des crons en utilisant un réglage comparable…


C'est super cet hébergeur :-)
Vive les hébergements douillets pour SPIP !

À défaut de ce confort, pour l'instant j'ai inséré un appel au super_cron (aprés fix) en php dans le footer de chaque 
page. Ce code n'est appelé que pour les pages qui ne sortent pas du varnish donc pas souvent, mais justement, notamment, 
quand il y a besoin : aprés la validation d'un formulaire. Ça semble bien marcher.

Ouf !

JLuc



Le 11 juin 2019 à 08:53 +0200, JLuc , a écrit :

Hello

Sur un site derrière un varnish, les jobs ne sont plus exécutés que très 
épisodiquement,
semble t il.

Le problème se pose notamment
pour les mails d'authentification d'une inscription ou de rappel de mot de 
passe,
qui mettent tellement longtemps à partir que l'internaute s'inquiète et 
recommence
et contacte le support finalement...
C'est un site avec un millier de visite par jours environ

j'ai proposé le plugin "accelerer_job" qui permet de forcer l'exécution
d'un certain nombre de jobs filtrés par l'action, notamment via un bouton 
interactif.
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/accelerer_jobs/trunk

Ça marche très bien dans l'extranet qui n'est pas varnishé,
et ce serait parfait par exemple pour forcer la synchronisation des 
mailsubscribinglist automatiques
dans le plugin mailsubscriber (todo ?)

C'est toutefois un peu rustre de proposer ce bouton dans le public (encore que 
ça aide à patienter !)
et de plus dans le public le texte du bouton y est aussi caché par varnish donc 
pas à jour.

Je pense qu'il faudrait insérer un code javascript dans le html
pour appeler en asynchrone une page qui envoie les mails arrivés à échéance.

C'est le même problème que pour les statistiques, ce pour quoi il existe
https://plugins.spip.net/statsjs.html
et qui utilise affichage_final pour insérer le code javascript.
Sur un site dont on construit le squelette, il vaut probablement mieux insérer 
dans le footer qu'utiliser
affichage_final mais ça semble une bonne inspiration.

Est-ce que je loupe qqchose ?
Y a til une autre piste ?

JL


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



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





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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet JLuc

Cette exploration se traduit par 2 demandes de modifications du code :

1) Il y a un bug dans l'action super_cron puisqu'elle appelle fsockopen
avec le port 80 par défaut.
Du coup sur un site https le super_cron ne marche PAS.
(sur mon site ça renvoie une 301 mais le fsockopen ne la suite pas)

J'ai proposé un patch : https://core.spip.net/issues/4345?next_issue_id=4343
qui propose aussi d'ajouter des logs pour voir les éventuels échecs.

2)

Le super cron ne fait rien d'autre qu'appeler l'action cron en asynchrone
donc c'est surtout de la complication inutile en plus
puisque dans le cron unix on peut appeler l'action cron directement.


Du coup faudrait il supprimer ces 2 lignes de commentaires :
* Cette fonction est utile pour être appelée depuis un cron UNIX par exemple
* car elle se termine tout de suite
*
* Exemple de tache cron Unix pour un appel toutes les minutes :
* `* * * * * curl  http://www.mondomaine.tld/spip.php?action=super_cron`

ou les remplacer par simplement :
* L'intérêt de cette fonction est qu'elle se termine tout de suite

?
JLuc


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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet JLuc

Le 11/06/2019 à 10:57, Bruno Bergot a écrit :

Parce que du coup on génère deux hits apache au lieu d'un, ce qui est un peu 
dispendieux.

Si tu es à un hit près, oui peut-être


Le super cron ne fait rien d'autre qu'appeler l'action cron en asynchrone
donc c'est surtout de la complication inutile en plus
puisque dans le cron unix on peut appeler l'action cron directement.
Pour info, tu peux très bien lancer des hits sur le super_cron depuis une autre machine qui disposerait d'un cron plus 
souple d'usage.


Effectivement, je n'y avais pas pensé.

JLuc


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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet Cerdic
Pour être précis, il faudrait écrire « Avec un varnish mal configuré » ou « pas 
du tout configuré pour SPIP »
Car dans sa proposition de configuration Fil tenait compte du cron, et je 
connais un hébergeur qui utilise Varnish sans aucun problème avec l’execution 
des crons en utilisant un réglage comparable…

--
Cédric
Le 11 juin 2019 à 08:53 +0200, JLuc , a écrit :
> Hello
>
> Sur un site derrière un varnish, les jobs ne sont plus exécutés que très 
> épisodiquement,
> semble t il.
>
> Le problème se pose notamment
> pour les mails d'authentification d'une inscription ou de rappel de mot de 
> passe,
> qui mettent tellement longtemps à partir que l'internaute s'inquiète et 
> recommence
> et contacte le support finalement...
> C'est un site avec un millier de visite par jours environ
>
> j'ai proposé le plugin "accelerer_job" qui permet de forcer l'exécution
> d'un certain nombre de jobs filtrés par l'action, notamment via un bouton 
> interactif.
> https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/accelerer_jobs/trunk
>
> Ça marche très bien dans l'extranet qui n'est pas varnishé,
> et ce serait parfait par exemple pour forcer la synchronisation des 
> mailsubscribinglist automatiques
> dans le plugin mailsubscriber (todo ?)
>
> C'est toutefois un peu rustre de proposer ce bouton dans le public (encore 
> que ça aide à patienter !)
> et de plus dans le public le texte du bouton y est aussi caché par varnish 
> donc pas à jour.
>
> Je pense qu'il faudrait insérer un code javascript dans le html
> pour appeler en asynchrone une page qui envoie les mails arrivés à échéance.
>
> C'est le même problème que pour les statistiques, ce pour quoi il existe
> https://plugins.spip.net/statsjs.html
> et qui utilise affichage_final pour insérer le code javascript.
> Sur un site dont on construit le squelette, il vaut probablement mieux 
> insérer dans le footer qu'utiliser
> affichage_final mais ça semble une bonne inspiration.
>
> Est-ce que je loupe qqchose ?
> Y a til une autre piste ?
>
> JL
>
> 
> spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet Bruno Bergot

Hop,

Le 11/06/2019 à 10:52, JLuc a écrit :


As tu vu dans le développement de ce fil ? L'usage du super_cron avec un 
cron semble déprécié puisque ça ajoute une asynchronie inutile en 
plus... et par ailleurs avec une période minimale de 1h pour l'anacron 
de mon hébergement c'est pas pertinent pour les envois de mails "en 
direct".


https://www.mail-archive.com/spip-dev@rezo.net/msg59947.html

Parce que du coup on génère deux hits apache au lieu d'un, ce qui est un peu 
dispendieux.


Si tu es à un hit près, oui peut-être...

Pour info, tu peux très bien lancer des hits sur le super_cron depuis 
une autre machine qui disposerait d'un cron plus souple d'usage.


++
b_b

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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet JLuc

Le 11/06/2019 à 10:07, Bruno Bergot a écrit :

Hop,
Tu devrais peut-être regarder du côté du super_cron :
https://www.mediaspip.net/documentation/documentation-pour-les-administrateurs/configuration-du-canal/managing-a-mediaspip-farm/gestion-generale-de-la-ferme/article/le-plugin-gestion-de-la#super_cron 
https://code.spip.net/autodoc/tree/ecrire/action/super_cron.php.html#function_action_super_cron_dist

https://www.mail-archive.com/spip-dev@rezo.net/msg59940.html


As tu vu dans le développement de ce fil ? L'usage du super_cron avec un cron semble déprécié puisque ça ajoute une 
asynchronie inutile en plus... et par ailleurs avec une période minimale de 1h pour l'anacron de mon hébergement c'est 
pas pertinent pour les envois de mails "en direct".

C'est pour cela que j'en viens à envisager l'insertion d'un script js.

JL




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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet JLuc

Le 11/06/2019 à 10:07, RealET a écrit :

Y a til une autre piste ?

https://www.pyrat.net/Utiliser-le-crontab-d-UNIX-pour-les-taches-de-SPIP.html
Peut-être aussi
http://zzz.rezo.net/Interfacer-Varnish-SPIP.html (et les commentaires)
Un fil de discussion
https://spip-dev.rezo.narkive.com/lCq2DZ1x/separer-la-visite-du-site-public-et-l-execution-du-genie
https://github.com/spip/SPIP/blob/master/ecrire/action/super_cron.php


Intéressant : en utilisant un cron unix (asynchrone par essence vis a vis des 
actions utilisateurs)
il vaut mieux appeler le simple cron plutôt que le super cron 
(re-bis-asynchrone).

Mais sur mon hébergement le délai minimal de cron (anacron en fait) est 1h
donc encore trop pour un mail...

JL


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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet Bruno Bergot

Hop,

Le 11/06/2019 à 08:53, JLuc a écrit :

Hello

Sur un site derrière un varnish, les jobs ne sont plus exécutés que très 
épisodiquement,

semble t il.

Le problème se pose notamment
pour les mails d'authentification d'une inscription ou de rappel de mot 
de passe,
qui mettent tellement longtemps à partir que l'internaute s'inquiète et 
recommence

et contacte le support finalement...
C'est un site avec un millier de visite par jours environ



Tu devrais peut-être regarder du côté du super_cron :

https://www.mediaspip.net/documentation/documentation-pour-les-administrateurs/configuration-du-canal/managing-a-mediaspip-farm/gestion-generale-de-la-ferme/article/le-plugin-gestion-de-la#super_cron

https://code.spip.net/autodoc/tree/ecrire/action/super_cron.php.html#function_action_super_cron_dist

https://www.mail-archive.com/spip-dev@rezo.net/msg59940.html

++
b_b

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


Re: [SPIP Zone] varnish et job queue (et statjs)

2019-06-11 Par sujet RealET

JLuc a écrit le 11/06/2019 à 08:53 :

Hello

Hello


Y a til une autre piste ?

https://www.pyrat.net/Utiliser-le-crontab-d-UNIX-pour-les-taches-de-SPIP.html

Peut-être aussi
http://zzz.rezo.net/Interfacer-Varnish-SPIP.html (et les commentaires)

Un fil de discussion
https://spip-dev.rezo.narkive.com/lCq2DZ1x/separer-la-visite-du-site-public-et-l-execution-du-genie

https://github.com/spip/SPIP/blob/master/ecrire/action/super_cron.php

--
RealET



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