Archive

Archive for August 10th, 2004

Vacances !

August 10th, 2004

Je suis officiellement en vacances ce soir pour une bonne dizaine de jours. Ca va me permettre de faire un petit break fort appréciable …

Je pars pour quelques horizons en hauteur et serai privé pendant tout ce temps de connexion au net… Non, ce n’est pas un sevrage d’une toxicomanie sans drogue ! :)

Bref, tout ça pour vous dire que d’ici la dernière semaine d’août il ne faut pas s’attendre à de nouveaux posts par ici ni à des réponses aux éventuels mails qui parviendraient jusqu’à ma boîte.

Bon courage à ceux qui travaillent par ce mois chaud et à très bientôt online ou onlife !

36 15 Ma vie

IPC::DirQueue ou comment gérer facilement une file d’attente

August 10th, 2004

Justin Mason vient de publier sur le CPAN un module Perl pour gérer des files d’attente en mode FIFO.

IPC::DirQueue vous propose quelques méthodes simples pour ajouter des jobs et les traiter simplement en vous permettant quelques fonctionnalités intéressantes :

  • Persistance des jobs : pas besoin de relancer un démon pour prendre en comtpe des modifications survenues dans la file.
  • Définition de priorités entre les jobs.
  • Système de lock efficace qui permet une utilisation asynchrone et parallèle à la file d’attente.

Voici un petit exemple d’utilsiation de ce bijou :

use IPC::DirQueue;
my $queue = IPC::DirQueue->new({ dir => "/tmp/queue" });
$queue->enqueue_file("/var/monfichier");
my $job = $queue->pickup_queued_job();
if (not $job) {
    info "plus de jobs à traiter";
    exit 0;
}
else {
    print $job->path, "\n";
    $job->finish;
}

Les utilisations que l’on peut faire ce type d’API sont multiples, on pensera notamment à l’implémentation d’une file d’attente de fichiers mp3 par exemple, laquelle file serait modifiable via une interface web… Hmmm, y a de l’idée là non ? ;)

General