package Ping::Action::CancelPing;
use strict;
use Jifty::Param::Schema;
use Jifty::Action schema {
param host =>
label is 'Hostname',
is mandatory;
};
sub take_action {
my $self = shift;
my $host = $self->argument_value('host');
my $id = Jifty->web->session->id;
my $sid = Jifty->bus->modify("$id-ping" => sub {
delete($_->{$host});
});
Jifty->bus->modify("hosts" => sub {
kill 2, delete $_->{$host};
});
Jifty->subs->cancel($sid);
$self->result->message( "Cancelled host: $host" );
}
1;