Mettre à jour tous les Autoblogs - mitsukarenai/Projet-Autoblog GitHub Wiki

Fonctionnalité

La fonction updateall permet de mettre à jour tous les autoblogs présents dans la ferme par petit groupe. Chaque appel de la fonction mettra à jour le plus d'autoblogs possible pendant 4 secondes. Passez ce délais, la fonction note de coté les autoblogs qui seront à mettre à jour au prochain appel.

Pour l'appeler, il suffit d'accéder à l'URL de votre ferme en passant updateall en paramètre (GET). Par exemple :

http://autoblog.domain.tld/?updateall

Si la page retourné affiche "Not finish", c'est qu'il reste des autoblogs à mettre à jour. Dans le cas contraire, il est affiché "Done".

Il est possible de bypasser cette fonctionnalité et de mettre à jour toute la ferme en ajoutant l'option force :

http://autoblog.domain.tld/?updateall&force

Mise à jour progressive

Vous pouvez mettre à jour toute votre ferme, pendant 4 secondes toutes les 5 minutes par exemple, avec une tâche cron de la forme :

# Projet Autoblog - updateall toutes les 5 minutes
*/5 * * * * wget -q --spider http://autoblog.domain.tld/?updateall

Cette solution permet d'alléger la charge serveur impliquée par la mise à jour de toute la ferme en une fois. Cela se ressent particulièrement sur les serveur ne disposant que d'un seul CPU.

Mise à jour complète

De la même manière :

# Projet Autoblog - updateall tous les jours à minuit
0 0 * * * wget -q http://autoblog.domain.tld/?updateall&force

Désactiver la mise à jour complète

Dans config.php, passez la constante ALLOW_FULL_UPDATE à la valeur FALSE.

Alternative avec bash-sitemap-httping

Une autre solution par bash : vous pouvez exécuter ce script bash (par exemple toutes les heures) -à la place de httping, vous pouvez utiliser wget -q -O - "$line":

#!/bin/bash
wget 'http://autoblog.domain.tld/?sitemap' -O - | sed 's/<loc>/\n/' | sed 's/<\/loc>//' | grep http >> "liste1.txt"
tail -n +2 "liste1.txt" >> 'liste2.txt'
rm 'liste1.txt'
while read line; do
httping -c1 -G -g "$line"
sleep 2
done < 'liste2.txt'
rm 'liste2.txt'
⚠️ **GitHub.com Fallback** ⚠️