NAME

Janus - A maintenance platform

SYNOPSIS

use Janus;

my $janus = Janus->new
(
    name => 'foobar',
    conf => '/conf/file',
    path => '/path/file',
);

$janus->run();

SEQUENCES

The following sequences may be defined. See Janus::Sequence.

alpha

BEGIN sequence.

delta

sequence for each batch of targets.

omega

End sequence.

CONFIGURATION

name

Name of the maintenance event.

conf

See Janus::Conf.

path

See Janus::Path.

METHODS

run()

Launch maintenance. Return 1 on failure, 0 on success.

OBJECTS and BEHAVIORS

lock

Janus creates/obtains an advisory lock under the run directory. See Vulcan::ProcLock.

log

Janus logs to a file under the log directory. A symbolic link to the log file is created under the run directory. See Janus::Log.

ctrl

Subroutines stuck and exclude are created from ctrl. See Janus::Ctrl.

cache

Janus loads cache (HASH) from a YAML file, if any, under the run directory, then unlinks said file. When INT or TERM signal is caught, Janus dumps cache to said file, clears ctrl, and exits.