Koha-Contrib-Sudoc
view release on metacpan or search on metacpan
lib/Koha/Contrib/Sudoc/TransferDaemon.pm view on Meta::CPAN
package Koha::Contrib::Sudoc::TransferDaemon;
# ABSTRACT: Service de transfert de fichiers
$Koha::Contrib::Sudoc::TransferDaemon::VERSION = '2.49';
use Moose;
use Modern::Perl;
use utf8;
use Mail::Box::Manager;
use DateTime;
use Path::Tiny;
use Log::Dispatch;
use Log::Dispatch::Screen;
use Log::Dispatch::Syslog;
use Koha::Contrib::Sudoc;
has sudoc => (
is => 'rw',
isa => 'Koha::Contrib::Sudoc',
default => sub { Koha::Contrib::Sudoc->new }
);
has mgr => (
is => 'rw',
isa => 'Mail::Box::Manager',
default => sub { Mail::Box::Manager->new },
);
has daemon_id => ( is => 'rw', isa => 'Str');
# Le logger
has log => (
is => 'rw',
isa => 'Log::Dispatch',
default => sub { Log::Dispatch->new() },
);
sub BUILD {
my $self = shift;
my $iln = $self->sudoc->c->{iln};
# On log à la fois à l'écran et dans syslog
$self->log->add( Log::Dispatch::Screen->new(
name => 'screen',
min_level => 'notice',
binmode => ':encoding(utf8)',
) );
$self->log->add( Log::Dispatch::Syslog->new(
name => 'syslog',
min_level => 'notice',
ident => "sudoc-trans-$iln",
binmode => ':encoding(utf8)',
) );
}
sub start {
my $self = shift;
$self->log->notice( "Démarrage du service de transfert ABES\n" );
my $timeout = $self->sudoc->c->{trans}->{timeout} * 60;
while (1) {
$self->check_mbox();
sleep($timeout);
( run in 0.529 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )