Outils pour utilisateurs

Outils du site


devweb:cache_rss (lu 40524 fois)

Cache flus RSS

Parfois on veut afficher un flux rss sur sa page web avec le code php suivant

$xml = simplexml_load_file('http://wiki.p2pfr.com/feed.php?linkto=current&view=pages&content=abstract&type=rss');

Le problème est que le chargement distant d’une page peut prendre un certain temps et si la page devient inaccessible c’est votre page qui devient lente à se charger.

Pour contrer ce problème nous allons faire un cache de cette page distante.

Voici un script en bash qui va faire une copie de cette page distante, vérifier si ce qu’on a téléchargé n’est pas vide et mettre à jour le cache.

#!/bin/bash
 
# Flux à mettre en cache
wget -q 'http://rss.monsite.com' -O /var/www/rss_temp.xml
 
if [ `stat -c %s /var/www/rss_temp.xml` -gt 0 ]; then
        mv -f /var/www/rss_temp.xml /var/www/rss.xml
fi

Voila, il ne reste plus qu’a faire appel à votre fichier de cache

$xml = simplexml_load_file('/var/www/rss.xml');

et à mettre dans un cron un appel à ce script toutes les heures ou comme vous le souhaitez.

devweb/cache_rss.txt · Dernière modification: 13-02-2014 22:54 de edmc73