NBU
view release on metacpan or search on metacpan
lib/NBU/Job.pm view on Meta::CPAN
if (defined($mount)) {
$self->popState($tm);
# $self->mount->positioned($tm);
}
return $mount;
}
sub startWriting {
my $self = shift;
my $tm = shift;
$self->pushState('WRI', $tm);
$self->{FRAGMENTCOUNTER}++;
}
sub doneWriting {
my $self = shift;
my $tm = shift;
$self->popState($tm);
}
sub type {
my $self = shift;
if (@_) {
$self->{TYPE} = shift;
}
return $self->{TYPE};
}
my @jobStates = ("queued", "active", "re-queued", "done", undef, "incomplete");
sub state {
my $self = shift;
if (@_) {
$self->{STATE} = shift;
}
return $jobStates[$self->{STATE}];
}
sub active {
my $self = shift;
return ($self->{STATE} == 1);
}
sub done {
my $self = shift;
return (($self->{STATE} == 3) || ($self->{STATE} == 5));
}
sub queued {
my $self = shift;
return (($self->{STATE} == 0) || ($self->{STATE} == 2));
}
sub busy {
my $self = shift;
if (!$self->{STARTOP}) {
#print STDERR "Job ".$self->id." has no start op?\n";
return undef;
}
else {
return $asOf - $self->{STARTOP};
}
}
sub files {
my $self = shift;
if (defined(my $fileListR = $self->{FILES})) {
return@$fileListR;
}
else {
return ();
}
}
my %opCodes = (
-1 => '---',
25 => 'WAI',
2 => 'CON',
26 => 'CON',
0 => ' ? ',
27 => 'MNT',
29 => 'POS',
3 => 'WRI',
35 => 'WRI',
);
sub operation {
my $self = shift;
return undef if ($self->state ne "active");
if (@_) {
my $opCode = shift;
$self->{OPERATION} = $opCode unless ($opCode == 0);
}
my $opCode;
if (!defined($self->{OPERATION})) {
return "---";
}
elsif (!defined($opCode = $opCodes{$self->{OPERATION}})) {
$opCode = sprintf("%3d", $self->{OPERATION});
}
return $opCode;
}
sub currentFile {
my $self = shift;
return ($self->state eq "active") ? $self->{CURRENTFILE} : undef;
}
( run in 0.836 second using v1.01-cache-2.11-cpan-39bf76dae61 )