MOi je verrais plutot une incrémentation et décrementation sur ajout/suppression de site.
Puis une fonction de maj, si on souhaite tout rebuild au niveau stats.
Temps de réponse
Re: Temps de réponse
Salut Angra-Mainyu,
Effectivement, mais la fonction actuelle est trop longue ...
il faudrait voir a mieux optimiser la requête ou sauvegarder ds une table les compteurs de chaque catégorie.
et ajouter ou supprimer aux compteurs lorsqu'il y a ajout ou suppression d'un site mais la, c'est revoir les tables et plusieurs fonctions ...
Effectivement, mais la fonction actuelle est trop longue ...
il faudrait voir a mieux optimiser la requête ou sauvegarder ds une table les compteurs de chaque catégorie.
et ajouter ou supprimer aux compteurs lorsqu'il y a ajout ou suppression d'un site mais la, c'est revoir les tables et plusieurs fonctions ...
-
-
enligne - Messages: 181
- Inscription: Lun 3 Jan 2011 17:24
Re: Temps de réponse
JE m'incruste un peu sans vraiment le faire.
Visiblement, deux fonctions sont utilisés pour mettre à jour les stats :
category->updateSitecountmachintrucbidule
et site->updateStats
vous avez aussi la mise à jour des mots clés d'un site qui fait appelle a la fonction updateStats
de meme que category->updateSitecountmachintrucbidule appelle cette fonction.
Cette récurrence peut couter un peu en temps;
pour ma part, je dépasse les 30 sec de limite d''execution à cause d'un ajax que j'ai rajouté ( récupération des régions, départements et villes dans l'édition d'admin ) donc je me dirige vers un page d'édition de site qui ne se charge pas totalement en ajax.
Visiblement, deux fonctions sont utilisés pour mettre à jour les stats :
category->updateSitecountmachintrucbidule
et site->updateStats
vous avez aussi la mise à jour des mots clés d'un site qui fait appelle a la fonction updateStats
de meme que category->updateSitecountmachintrucbidule appelle cette fonction.
Cette récurrence peut couter un peu en temps;
pour ma part, je dépasse les 30 sec de limite d''execution à cause d'un ajax que j'ai rajouté ( récupération des régions, départements et villes dans l'édition d'admin ) donc je me dirige vers un page d'édition de site qui ne se charge pas totalement en ajax.
- Angra-Mainyu
- Messages: 455
- Inscription: Dim 14 Sep 2008 23:37
Re: Temps de réponse
Salut Angra-Mainyu,
Tu es le bienvenue dans ce post ^^
après quelques jours de tests en ayant commenté la fonction de maj de "updateValidatedSitesCount"
parait être une bonne solution pour les validations et suppressions de site, le temps d'exécution est correct ...
Cela permet d'avoir les en temps réelle les stats du nombre de site dans sa globalité, on perd juste les maj sur les catégories et sous catégories pour les sites.
Concernant les compteurs pour les tags, cela n'est pas affecté et le temps d’exécution est bon (460 tags)
De mon coté, je n'avais pas de délai sur l'affichage de la page détail, juste lecture des informations ^^
mais, je vois que tu parles d'édition de ta page, donc a priori, pas de maj de stats a faire, a part les tags !
A voir, si tu ne peux pas court-circuiter les maj compteurs catégories ???
j'ai hâte de voir ton site, en dehors de ta page maintenance ^^
Tu es le bienvenue dans ce post ^^
après quelques jours de tests en ayant commenté la fonction de maj de "updateValidatedSitesCount"
parait être une bonne solution pour les validations et suppressions de site, le temps d'exécution est correct ...
Cela permet d'avoir les en temps réelle les stats du nombre de site dans sa globalité, on perd juste les maj sur les catégories et sous catégories pour les sites.
Concernant les compteurs pour les tags, cela n'est pas affecté et le temps d’exécution est bon (460 tags)
De mon coté, je n'avais pas de délai sur l'affichage de la page détail, juste lecture des informations ^^
mais, je vois que tu parles d'édition de ta page, donc a priori, pas de maj de stats a faire, a part les tags !
A voir, si tu ne peux pas court-circuiter les maj compteurs catégories ???
j'ai hâte de voir ton site, en dehors de ta page maintenance ^^
-
-
enligne - Messages: 181
- Inscription: Lun 3 Jan 2011 17:24
Re: Temps de réponse
Ma solution ne sera pas fonctionnel pour vous.
Je réécris quasiment tout le script, donc les solutions seront basés sur ma façon de faire réagir le script.
Je peux juste donné quelques informations sur le fonctionnement en tant que tel et non pas les solutions à apporter, puisque les miennes seront autres.
Pour cette page d'édition, je ne gère pas la page via l'ajax comme le fait Arfooo, donc, modification des templates, du javascript et des fonctions pour prendre en charge les données => modification plus profondes on dira.
Néanmoins, je viens de voir qu'une partie du javascript ItemEditor.js dans l'admin ne sert à rien.
Cela concerne les catégories dans le menu déroulant.
A chaque fois que tu changes une catégorie, deux fonctions via ajax sont lancés pour récupérer les extrafields des catégories et les catégories enfants,
or ces deux paramètres ne sont pas utiliser dans l'admin via le select,
on peut donc supprimer cettte partie.
Comme je dois recoder le javascript, pour moi cela ne posera pas de souci, mais ce fichier itemEditor.js est aussi utilisé lors de la soumission de site ( elle gère le chain select des catégories )
Une solution pour vous, ( Voir pour Arf ) serait de faire un fichier js pour l'admin et un fichier Js pour la soumission, un peu plus de code mais plus adéquat je pense.
D'autres part, moi je vais supprimer l'ajout des pubs sur le bas de page d'édition d'un site et la mettre ailleurs, ce ne sera pas trop compliquer pour moi, mais ça reste du developpement pas très utilie pour vous
Pour les stats, ce que l'on peut faire pour les mettres à jours à chaque fois mais que si cela est nécessaires,
est de crée une table updateStats par exemple
tu crée 3 champs, id name value
name = ce que tu veux mettre à jour ( tag, site, keywords ou catégorie )
value = 0 pour ne rien faire, 1 pour effectuer la mise à jours
Lors de l'insertion, la suppression, la modification ( si nécessaire ) d'un site, catégorie, mots clés, ou tags,
tu passes la valeur associée à 1.
Ensuite, pour être sur de ne le faire qu'une seule fois, tu peux associer l'action de mise à jour à la fonction logofff
Tu te déconnectes, et il te fait tes mises à jours.
Tu peux aussi écrire une fonction qui t'affichera sur ta page d'acceuil, les mises à jours qui nécessite un rafraichissement, ainsi, tu peux les faire quand tu le souhaite.
Je pense que je vais aller dans cette voie ^^
Je réécris quasiment tout le script, donc les solutions seront basés sur ma façon de faire réagir le script.
Je peux juste donné quelques informations sur le fonctionnement en tant que tel et non pas les solutions à apporter, puisque les miennes seront autres.
Pour cette page d'édition, je ne gère pas la page via l'ajax comme le fait Arfooo, donc, modification des templates, du javascript et des fonctions pour prendre en charge les données => modification plus profondes on dira.
Néanmoins, je viens de voir qu'une partie du javascript ItemEditor.js dans l'admin ne sert à rien.
Cela concerne les catégories dans le menu déroulant.
A chaque fois que tu changes une catégorie, deux fonctions via ajax sont lancés pour récupérer les extrafields des catégories et les catégories enfants,
or ces deux paramètres ne sont pas utiliser dans l'admin via le select,
on peut donc supprimer cettte partie.
Comme je dois recoder le javascript, pour moi cela ne posera pas de souci, mais ce fichier itemEditor.js est aussi utilisé lors de la soumission de site ( elle gère le chain select des catégories )
Une solution pour vous, ( Voir pour Arf ) serait de faire un fichier js pour l'admin et un fichier Js pour la soumission, un peu plus de code mais plus adéquat je pense.
D'autres part, moi je vais supprimer l'ajout des pubs sur le bas de page d'édition d'un site et la mettre ailleurs, ce ne sera pas trop compliquer pour moi, mais ça reste du developpement pas très utilie pour vous
Pour les stats, ce que l'on peut faire pour les mettres à jours à chaque fois mais que si cela est nécessaires,
est de crée une table updateStats par exemple
tu crée 3 champs, id name value
name = ce que tu veux mettre à jour ( tag, site, keywords ou catégorie )
value = 0 pour ne rien faire, 1 pour effectuer la mise à jours
Lors de l'insertion, la suppression, la modification ( si nécessaire ) d'un site, catégorie, mots clés, ou tags,
tu passes la valeur associée à 1.
Ensuite, pour être sur de ne le faire qu'une seule fois, tu peux associer l'action de mise à jour à la fonction logofff
Tu te déconnectes, et il te fait tes mises à jours.
Tu peux aussi écrire une fonction qui t'affichera sur ta page d'acceuil, les mises à jours qui nécessite un rafraichissement, ainsi, tu peux les faire quand tu le souhaite.
Je pense que je vais aller dans cette voie ^^
- Angra-Mainyu
- Messages: 455
- Inscription: Dim 14 Sep 2008 23:37
Re: Temps de réponse
Salut Arf,
Il n'est jamais trop tard pour proposer une solution ou une une méthode ...
Je viens d'adopter la tienne, j'avais pour l'instant mis en commentaire :
"$this->db->sqlQuery($sql);"
et je faisais une mise a jour globale de temps en temps pour ne pas surcharger le serveur.
Je viens de tester ta modification, c'est au niveau temps quelque chose de plus normal ^^
Merci encore de suivre ton script
@+++
Eric
Il n'est jamais trop tard pour proposer une solution ou une une méthode ...
Je viens d'adopter la tienne, j'avais pour l'instant mis en commentaire :
"$this->db->sqlQuery($sql);"
et je faisais une mise a jour globale de temps en temps pour ne pas surcharger le serveur.
Je viens de tester ta modification, c'est au niveau temps quelque chose de plus normal ^^
Merci encore de suivre ton script
@+++
Eric
-
-
enligne - Messages: 181
- Inscription: Lun 3 Jan 2011 17:24
Retourner vers Installation, aide et report de bugs
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités