MMM::Report - MMM::Report documentation


mmm documentation Contained in the mmm distribution.

Index


Code Index:

NAME

Top

MMM::MirrorQueue

METHODS

Top

Return the string to show at the beginning

body

body_queue

Return a string about body of each queue

run

The main routine

SEE ALSO

Top

MMM

AUTHOR

Top

Olivier Thauvin <nanardon@nanardon.zarb.org>

COPYRIGHT AND LICENSE

Top


mmm documentation Contained in the mmm distribution.
package MMM::Report;

use strict;
use warnings;
use base qw(MMM);

sub new {
    my ($class, @args) = @_;
    my $mmm = $class->SUPER::new(@args) or return;

    if (!$mmm->{nofork}) {
        Sys::Syslog::openlog('mmm', 'pid', $mmm->configval('default', 'syslog_facilities', 'daemon'));
        $mmm->{use_syslog} = 1;
    }

    $mmm
}

sub header {
}

sub body {
}

sub body_queue {
}

sub footer {
}

sub run {
    my ($self) = @_;
    foreach my $q ($self->get_tasks_by_name($self->list_tasks)) {
        push(@{$self->{tasks}}, [ $q, { $q->state_info() } ]);
    }
    $self->header();
    foreach my $q (sort { $a->[0]->name cmp $b->[0]->name }
        @{$self->{tasks} || []}) {
        $q->[0]->is_disable and next;
        $self->body_queue($q->[0], %{ $q->[1] || {} });
    }
    $self->footer();
    $self->{tasks} = undef;
}

1;

__END__