perf: replace sleep(5) with 429 backoff and add cache warm-up script
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* Préchauffe le cache API de l'application.
|
||||
*
|
||||
* À appeler en tâche cron pour éviter que le premier visiteur ne paye le coût
|
||||
* des appels API externes (PeerTube, Castopod, Funkwhale) sur cache froid.
|
||||
*
|
||||
* Exemple cron (toutes les 5 minutes) :
|
||||
* php /var/www/annu-kute-ced/scripts/warm-cache.php >/dev/null 2>&1
|
||||
* (à programmer toutes les 5 minutes dans la crontab)
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/../includes/config.php';
|
||||
|
||||
$start = microtime(true);
|
||||
$results = [];
|
||||
|
||||
// Vidéos PeerTube
|
||||
$results['recent_videos'] = count(getRecentVideos());
|
||||
$results['trending_videos'] = count(getTrendingVideos());
|
||||
$results['shorts'] = count(getShorts());
|
||||
|
||||
// Catégories affichées
|
||||
$categories = getDisplayCategories();
|
||||
$results['display_categories'] = count($categories);
|
||||
foreach ($categories as $category) {
|
||||
$results['category_' . $category['id']] = count(getVideosByCategory($category['id']));
|
||||
}
|
||||
|
||||
// Live
|
||||
$live = getLiveStream();
|
||||
$results['live_stream'] = $live ? 1 : 0;
|
||||
|
||||
// Podcasts Castopod
|
||||
$results['castopod_episodes'] = count(getCastopodEpisodes());
|
||||
|
||||
// Funkwhale (si activé)
|
||||
if (defined('FUNKWHALE_ENABLED') && FUNKWHALE_ENABLED) {
|
||||
$results['funkwhale_tracks'] = count(getFunkwhaleTracks());
|
||||
}
|
||||
|
||||
$duration = round(microtime(true) - $start, 2);
|
||||
echo "Cache préchauffé en {$duration}s\n";
|
||||
foreach ($results as $key => $value) {
|
||||
echo " - {$key}: {$value}\n";
|
||||
}
|
||||
Reference in New Issue
Block a user