NAME
Net::NATS2::JetStream - JetStream stream management and synchronous publishing
SYNOPSIS
my $js = Net::NATS2::JetStream->new(client => $client);
$js->add_stream({ name => 'ORDERS', subjects => ['orders'] });
my $ack = $js->publish('orders', 'created');
$js->add_consumer('ORDERS', {
durable_name => 'WORKER',
ack_policy => 'explicit',
});
my $message = $js->next_message('ORDERS', 'WORKER');
$js->ack($message);
DESCRIPTION
This module wraps the JetStream request/reply API for account information, stream and consumer management, synchronous publish acknowledgements, and pull-consumer delivery. Methods return a decoded response hash on success. On failure they return undef and make the JetStream error response, when available, accessible through last_error.
PULL CONSUMERS
add_consumer($stream, $config) creates a consumer. Provide durable_name for a durable consumer and omit deliver_subject to create a pull consumer. fetch($stream, $consumer, $batch, $timeout) returns an array reference of up to $batch messages. next_message is the single-message equivalent.
Use ack($message), nak($message), or term($message) to acknowledge, request redelivery, or stop delivery of a received JetStream message.