Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mise à jour plus fine #310

Open
tolima opened this issue Oct 29, 2013 · 3 comments
Open

mise à jour plus fine #310

tolima opened this issue Oct 29, 2013 · 3 comments

Comments

@tolima
Copy link

tolima commented Oct 29, 2013

Je ne sais pas trop comment fonctionne la mise à jour dans le détail donc ce qui suis peut être bourré de bêtises.
Je me disais que ça pourrait être sympa si la mise à jour des flux soit plus "fine" et qu'elle ne vérifie pas tous les flux à chaque fois.
Par exemple, à chaque fois que le script de mise à jour irait vérifier un flux il lui attribuait une note de fréquence de maj. (je ne parle pas des erreurs, il faudrait les gérer séparément)
par ex :
fréquence = (fréquence + (date de l'instant - date de dernière maj)) / 2
Après on tri les flux par fréquence. On est pas obligé de le faire à chaque fois, une fois par semaine ça devrait suffire. Et toutes les heures on met à jour les flux qui ont une fréquence inférieure à un jour, tous les jours ceux qui ont une fréquence inférieure à 3 jours, toutes les 3 jours ceux qui ont une fréquence inférieure à une semaine. Et toutes les semaines on met tout à jour.

Tout ça peut sûrement être affiné, c'est juste pour présenter l'idée. Je ne sais pas si ça vaut le coup ou si même ça sert à quelque chose, c'est juste que ça me fait bizarre de mettre les flux à jours aussi souvent pour pas grand chose. Quand on y réfléchit il doit y avoir des taux de réussite (téléchargement de fux ayant de nouveaux items) très très bas non ?
Pour l'instant ça semble pas grand chose mais l'année prochaine quand Kriss feed sera installé sur des milliards de serveurs, ça sauvera peut-être la planète.

@Nodd
Copy link

Nodd commented Oct 29, 2013

Ça rejoint #185, sauf que dans ma proposition c'était pas automatique. En tout cas je confirme que ce genre de trucs serait une bonne idée !

@tolima
Copy link
Author

tolima commented Oct 29, 2013

Oui !
Il faudrait aussi qu'on puisse forcer un flux qui ne se met pas à jour souvent à être mis à jour souvent, si besoin.
Et peut-être que ça pourrait alléger les crons : par exemple utiliser le cron pour faire les grosses mises à jour (une fois par jour par ex) et faire des minis mise à jour en javascript pour les flux très fréquents.
Je dis ça mais il ne faudrait pas que ça alourdisse trop KF. Parce que c'est aussi pour sa légèreté qu'on l'aime.
J'aimerai bien être meilleur en php pour filer un coup de main mais j'ai encore un peu de mal...

@tontof
Copy link
Owner

tontof commented Oct 29, 2013

En fait dans l'idée c'est ce qui est sensé se faire à la fin.
Pour un flux il y a différents types de mise à jour :
"auto", "max" or a number of minutes less than "max" define in configuration
Le but de auto c'est de faire ce que tu proposes (c'est comme ça que ça fonctionnait dans la version 4)
Là encore, je n'ai pas pris le temps de le refaire depuis la version 5.
En gros j'avais fait ça :

kriss_feed/index.php

Lines 3269 to 3290 in a85cf32

if ($max == 'auto') {
// auto with the last 7 items
$items = array_slice($feed['items'], 0, 7, true);
$sum = 0;
$firstTime = 0;
$nbItems = 0;
foreach ($items as $item) {
if ($firstTime == 0) {
$firstTime = $item['time'];
}
$sum += $firstTime-$item['time'];
$nbItems++;
}
$freq = 0;
if ($nbItems!=0) {
$freq = (int) (($sum / $nbItems) / 60);
}
if ($freq >= MIN_TIME_UPDATE && $freq < $this->kfc->maxUpdate) {
$max = $freq;
} else {
$max = $this->kfc->maxUpdate;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants