Aller au contenu
  • 0
Matthieu Moy

[Solution] mise à jour des flux tt-rss via un cron job

Question

Bonjour,

Ce n'est pas une question, mais plutôt une réponse :-). Le lecteur RSS tt-rss a besoin d'un démon ou d'une tâche planifiée pour mettre à jour les flux RSS. Maintenant que Yulpa gère les tâches planifiées, on peut avoir un tt-rss bien configuré. Quelques subtilités, donc je partage mes trouvailles pour les configurer :

Les tâches planifiées sont dans la sous-section « Fichiers & Accès -> Tâches planifiées ». Malheureusement, tt-rss demande d'exécuter la commande

php update.php --feeds

et les tâches de Yulpa ne prennent pas d'arguments, donc on ne sait pas où mettre le --feeds. Solution : créer un autre script PHP qui va appeler update.php correctement. Là, php va râler que les modules MySQL, JSON, mbstring et DOM ne sont pas actifs. Solution : appeler PHP avec "-d extension=..." pour chacune des extensions nécessaires (bizarement l'éditeur de php.ini fourni par Yulpa n'a pas l'air de faire ce qu'il faut). Au final, mon script "self-update.php" est le suivant :

<?php

if (!defined('PHP_BINARY'))
  define('PHP_BINARY', '/usr/bin/php');

$cmd = PHP_BINARY . " " .
  "-d extension=json.so -d extension=mysqli.so -d extension=dom.so -d extension=mbstring.so " .
  __DIR__ . DIRECTORY_SEPARATOR . 'update.php --feeds';
echo($cmd . "\n");

system($cmd);

?>

La tâche planifiée exécute ce script toutes les heures.

On peut aussi lancer la mise à jour manuellement via l'accès SSH :

php self-update.php

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

3 réponses à cette question

Recommended Posts

  • 0

Bonjour, 

merci pour ce tuto que j'épingle :) 

Le php.ini construit par iWal ne présente pas les bons modules PHP ? Si c'était le cas ils ne seraient pas utilisables normalement :/ 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
37 minutes ago, Aurélien PONCINI said:

Bonjour, 

merci pour ce tuto que j'épingle :) 

Le php.ini construit par iWal ne présente pas les bons modules PHP ? Si c'était le cas ils ne seraient pas utilisables normalement :/ 

 

Les modules sont utilisables sans problème via le serveur web. Ici c'est de la commande PHP en ligne de commande qu'il s'agit. Par défaut, les modules ne sont pas actifs. Dans iWall, dans la gestion des tâches planifiées il y a un bouton « éditer le php.ini » qui permet de choisir les modules et de les activer (tout en bas de l'écran), mais même en les activant à cet endroit j'ai toujours les erreurs de tt-rss qui ne les trouve pas. Je soupçonne que c'est mon utilisation de "system(PHP_BINARY ...)" qui fait que la commande php qui exécute self-update.php et celle du fork qui exécute update.php ont un php.ini différent. Bref, je ne suis pas certain de l'explication, mais sans les "-d extension=..." ça ne marche pas, et avec, ça marche ;-).

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour, 

on est bien d'accord que l'on parle de ce qui est exécuté en cron, les tests fonctionnels ne sont pas fait en SSH ? (car en SSH c'est encore un environnement différent :( ) 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×