AnyEvent-Multilog

 view release on metacpan or  search on metacpan

t/rotate.t  view on Meta::CPAN

    script   => [qw/t +* s9999/, $logfile],
    on_exit  => sub { $done->send(\@_) },
);

isa_ok $log, 'AnyEvent::Multilog';

$log->start;

# wait for exec
my $wait = AnyEvent->condvar;
my $t = AnyEvent->timer( after => 1, cb => $wait );
$wait->recv;

my $state = 0;
$log->run->delegate('input_handle')->handle->on_drain(sub {
    if($state < 10){
        $log->rotate;
        $state++;
        $log->push_write("this is line $state");
    }
    elsif($state == 10) {

xt/stress.t  view on Meta::CPAN

my $dest = $tmp->base->absolute;
diag $dest;

my $log = AnyEvent::Multilog->new(
    script  => [qw|t +* s10240 n100|, "$dest"],
    on_exit => sub { EV::unloop },
);

$log->start;

my $timer = AnyEvent->timer( after => 10, cb => sub { $log->shutdown } );

my $idle = AnyEvent->idle( cb => sub {
    $log->push_write(join ' ', map { $words[$_] } map { int rand scalar @words } 1..(int rand 100));
});

EV::loop();

my $count = $tmp->ls;
cmp_ok $count, '>=', 100, 'n100 -> at least 100 files';
cmp_ok $count, '<=', 103, 'no more than 103 files';



( run in 0.984 second using v1.01-cache-2.11-cpan-49f99fa48dc )