Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

plg
2013-08-25 16:39:31

Pour moi la bonne méthode c'est de passer par l'API web (ws.php) avec un script. On peut lui demander quelles sont les "dérivées manquantes". J'avais codé ça pour le passage vers Piwigo 2.4 sur Piwigo.com:

Code:

    # preload the derivative cache
    if (not defined $opt{'no-cache'} and $row->{customer_status} ne 'suspended' and $gallery_locked ne 'true') {
        build_cache('medium');
        build_cache('thumb');
        build_cache('square');
    }
    
sub build_cache {
    my ($type) = @_;

    our ($ua, $base_url);

    my $response = $ua->post(
        $base_url.'/ws.php?format=json',
        {
            method => 'pwg.getMissingDerivatives',
            types => $type,
            max_urls => 100_000
        }
    );

    my $result = from_json($response->content)->{result};

    if (ref($result) ne 'HASH' or not defined $result->{urls}) {
        return;
    }

    my @urls = @{ $result->{urls} };
    print scalar(@urls).' '.$type.' images to build'."\n";

    use Time::HiRes qw/gettimeofday tv_interval/;

    my $i = 0;

    foreach my $url (@urls) {
        my $t1 = [gettimeofday];

        printf(
            '[%s] photo %s %0'.length(scalar(@urls)).'u/%u generation in progress... ',
            $url, # $row->{username},
            $type,
            ++$i,
            scalar(@urls)
        );

        $ua->get($url.'&ajaxload=true');

        my $elapsed = tv_interval($t1);
        printf('%u ms', $elapsed * 1000);
        print "\n";
    }
}

(voir tools/piwigo_remote.pl pour l'initialisation de $ua le User Agent)

jdd
2013-08-18 17:06:46

merci :-)

jdd

Mascarille
2013-08-18 16:45:50

Bonjour,
Il faudrait chercher sur le forum anglais, un utilisateur avait écrit un batch pour pallier au temps considérable de génération des différentes tailles de vignettes lors du passage à la 2.4, (?)
J'avais regardé à l'époque car j'avais 60h de génération sur une grosse machine pour l'ensemble de mes 40 000 photos.
Finalement, j'avais travaillé autrement en dupliquant la base, traitement sur une autre machine et rechargement, je ne suis donc pas allé très loin dans cette première solution. De mémoire c'était quand même assez compliqué !

Bonne journée

jdd
2013-08-17 08:23:33

je sais, merci, mais la dernière fois que j'ai essayé ca m'a bloqué le serveur.

Ce que je voudrais c'est le faire en tâche de fond quand le serveur est inactif, avec un cronjob.

Je peux analyser le code de piwigo, mais c'est un peu hard pour moi :-(

merci
jdd

ddtddt
2013-08-17 07:43:09

Bonjour,

tu peux créer les taille multiple dans le gestionnaire de lot

jdd
2013-08-09 15:53:36

Bonjour,
J'ai un serveur kimsufi avec opensuse.
La création des images demandée par la nouvelle version de piwigo met mon serveur à genoux (si, par exemple, quelqu'un lance un diaporama alors que les images ne sont pas créées).

Je voudrais donc soit créer ces images d'avance, comme je faisais avec l'ancienne version, mais où les mettre? (j'utilise l'upload par ftp), soit faire une tâche de fond à basse priorité pour le serveur.

Dans les deux cas il me faut savoir où mettre ces images, et avec quel nom. Faut-il synchroniser ensuite?

merci
jdd

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact