Make consumer.pl trap SIGINT and SIGTERM, disconnect cleanly
Signed-off-by: Pedro Melo <melo@simplicidade.org>
This commit is contained in:
@@ -29,10 +29,13 @@ my $r = AnyEvent::NSQ::Reader->new(
|
|||||||
|
|
||||||
message_cb => sub { $t++; $message_cb->(@_, $t) },
|
message_cb => sub { $t++; $message_cb->(@_, $t) },
|
||||||
|
|
||||||
error_cb => sub { warn "$_[1]\n" if $verbose },
|
error_cb => sub { warn "$_[1]\n" if $verbose },
|
||||||
disconnect_cb => sub { warn "Got disconnected after $t total messages... exiting...\n" if $verbose; $cv->send },
|
disconnect_cb => sub { warn "Disconnected after $t total messages... exiting...\n" if $verbose; $cv->send },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
my $term_sgn = AE::signal TERM => sub { $r->disconnect };
|
||||||
|
my $int_sgn = AE::signal INT => sub { $r->disconnect };
|
||||||
|
|
||||||
$cv->recv;
|
$cv->recv;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user