kokogakayui c'est pas le nombre de fichier le problème c'est le nombre de requête à faire.

J'ai essayé de réduire le nombre de requête vers rtorrent mais quand y a beaucoup de torrents on peut pas faire autrement. Et si l'url de l'option --url-xmlrpc met du temps à répondre à ba ça traine.

Magicalex

J'ai volontairement testé avec un dossier qui contient moins de 10 fichiers.... J'en ai plus donc à mon avis c'est de ce côté là que ça traine. J'en suis à 10% là...

    kokogakayui
    J'ai une idée que tu peux tester

    nano /etc/nginx/sites-enabled/cleaner.conf
    server {
        listen 127.0.0.1:8888;
        charset utf-8;
    
        location = /RPC {
            include scgi_params;
            scgi_pass 127.0.0.1:5000;
        }
    }

    ensuite redémarre nginx

    service nginx restart

    Par contre il faut bien indiquer le port scgi de ton user rtorrent ici scgi_pass 127.0.0.1:5000;
    ça va créer un point de montage http://localhost:8888/RPC accessible que en local sur ton serveur.

    ensuite

    rtorrent-cleaner report --url-xmlrpc=http://localhost:8888/RPC --home=/home/koko/torrents -v

    ça serait intéressant de voir la différence de temps. Ajoute l'option -v ça ajoute le temps écoulé sur la barre de progression.

      Magicalex
      Juste excellent comme solution ! Je suis passé de plusieurs heures à 7 minutes. Bien joué !

      Par contre du coup j'ai essayé de tester sur /torrents/mon-dossier-tracker-que-jutilise-rarement, mais le résultat compare avec l'intégralité de mes torrents, du coup le résultat me sert à rien.

      Là je viens de relancer sur /torrents tout court... 6 minutes, encore mieux. Par contre pareil, ça me donne quasiment tous mes torrents en missing file, alors que les fichiers en question sont bien là.

      J'attends ton retour 🙂

        kokogakayui t'as pas eu de bug? sinon faudrait demander à @ex_rat si il veut bien rajouter ce vhost dans son script.

        Faudrait que je trouve une solution pour faire sans mais c'est pas évident. Le mieux serait de passer directement par scgi mais j'ai rien trouvé pour communiquer directement en php...

        kokogakayui Ah ouais c'est curieux ton résultat...

        t'as une config particulière? tu compares bien avec le dossier ou rtorrent télécharge les fichiers?

        c'est quoi la commande que tu as lancé? il affiche bien tous tes torrents? tu as plusieurs utilisateurs?

        edit: je pense que tu te trompe de home tu as bien mis --home=/home/<utilisateur>/torrents ?
        si tu peux mettre la commande que tu as exécuté ici

        Alors :
        Ai-je une config particulière ? je pense pas, au niveau de rtorrent/rutorrent j'ai pas touché grand chose.
        Il y a deux users de rtorrent sur ma box.
        J'ai bien spécifié le bon home.
        La commande utilisée :
        $ rtorrent-cleaner report --url-xmlrpc=http://localhost:8888/RPC --home=/home/koko/torrents -v

        EDIT : Alors pour info par exemple ça me donne ça comme output
        missing file: /home/koko/torrents/Czarface - Every Hero Needs A Villain {CD-FLAC} (2015)/Folder.jpg
        alors que le fichier est dans /home/koko/torrents/musique/

        Du coup ouais le problème vient de la gestion des sous-dossers apparemment.

          kokogakayui et le rtorrent de l'utilisateur koko le scgi est sur le port 5000 du coup?

          Affiche le contenu de cette commande

          cat /home/koko/.rtorrent.rc

          bah ouais à priori c'est bon. 5001 dans la conf rutorrent, 5001 dans le vhost cleaner.conf.

          kokogakayui Du coup ouais le problème vient de la gestion des sous-dossers apparemment.

          Ah ouais c'est géré par quoi ce truc?

            Tiens mon rtorrent.rc, mais je doute que ça vienne de là, tout tourne impeccable.

            network.scgi.open_port = 127.0.0.1:5001
            encoding.add = UTF-8
            network.port_range.set = 45000-65000
            network.port_random.set = no
            pieces.hash.on_completion.set = no
            directory.default.set = /home/koko/torrents
            session.path.set = /home/koko/.session
            protocol.encryption.set = allow_incoming, try_outgoing, enable_retry
            schedule2 = wdir_music,11,5,"load.start=/home/koko/watch/music/*.torrent,d.directory.set=/home/koko/torrents/music/,d.custom1.set=music,d.custom3.set=/home/koko/torrents/music/,d.delete_tied="
            schedule2 = untied_directory,5,5,"stop_untied=/home/koko/watch/*.torrent"
            schedule2 = espace_disque_insuffisant,1,30,close_low_diskspace=500M
            trackers.use_udp.set = yes
            dht.mode.set = off
            protocol.pex.set = no
            throttle.min_peers.normal.set = 40
            throttle.max_peers.normal.set = 100
            throttle.min_peers.seed.set = 10
            throttle.max_peers.seed.set = 50
            throttle.max_uploads.set = 30
            execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php koko &}

            Magicalex
            Bah aucune idée pour les sous-dossiers, mais ça doit être géré par rtorrent. Sur ta version test t'avais pas de sous-dossiers dans torrents/ toi ?

              J'ai tout lu, pfiou !

              Intéressé par ta solution en sh (que je voulais mettre sans docker mais impossible) je suis passé sur php7.0 juste pour toi 🙂

              J'en suis au même point que vous, effectivement passer par le point de montage est plus rapide même pour ~100 torrents 😉

              Et donc j'ai le même problème avec mes sous dossiers dans /home/user/torrents/<films-music-etc> on attend le fix 🙂

              Merci pour votre travail.

                Banip je test mon fix et je reviens vers vous.

                Je réfléchis à optimiser les requêtes xmlrpc avec du multicall mais ça ne fonctionne pas. Je comprend pas comment le multicall fonctionne. ça pourrait me faire économiser énormément de requête et vous du temps...

                @Banip @kokogakayui @kris06800 Vous pouvez retenter 😅

                Cette fois-ci j'ai fait beaucoup plus de test, j'ai poussé la version 0.1.2.
                Pour mettre à jour vous avez juste besoin de lancer cette commande

                composer global update

                Et ensuite de refaire un test (avec une url local de préférence 😂 )

                edit: bon ba j'ai un autre bug... j'ai rien dis 😄

                Bon bah excellent, ça marche impeccable...
                J'ai cru à un nouveau bug tellement j'ai de trucs qui servent à rien mais non, cette fois-ci le ton script a raison ! Total recoverable space: 505.13 Go haha il était temps que je m'y mette 🙂
                Le coup des missing files très bon aussi, ça m'a permis de capter que certains symlinks avaient sauté lors de ma dernière migration hative...
                Bref merci à toi ça tue, et ça va plutôt vite en plus !

                  kokogakayui t'as mis combien de temps et avec combien de torrents?

                  Vous avez l'option -v pour que le temps s'affiche sur la barre de progression.

                  Maintenant tu peux tester la suppression des fichiers si tu veux.

                  rtorrent-cleaner rm --url-xmlrpc=http://localhost:8888/RPC --home=/home/user/torrents

                  et y a l'option --assume-yes pour les têtes brulées, ça supprime tous les fichiers qu'il trouve en trop sans confirmation. Vous avez intérêt à vérifier que le rapport ne dit pas n'importe quoi avant!!