Argon
view release on metacpan or search on metacpan
lib/Argon/Manager.pm view on Meta::CPAN
}
sub _fire {
my ($self, $worker, $capacity) = @_;
$self->tracker->{self}->remove_capacity($capacity);
$self->del_worker($worker);
delete $self->tracker->{$worker};
$self->update_queue_capacity;
my @msgids = grep { $self->assigned->{$_} eq $worker }
keys %{$self->assigned};
if (@msgids) {
my $msg = 'The worker assigned to this task disconnected before completion.';
$self->send(Argon::Message->error($msg, id => $_))
foreach @msgids;
}
log_info 'Worker %s disconnected; capacity is down to %d',
$worker,
$self->capacity;
}
__PACKAGE__->meta->make_immutable;
1;
( run in 1.268 second using v1.01-cache-2.11-cpan-ceb78f64989 )