App-bsky
view release on metacpan or search on metacpan
lib/App/bsky.pm view on Meta::CPAN
$self->say('[DEBUG] Starting firehose stream...') if $ENV{DEBUG} || 1;
my $fh = $bsky->firehose(
sub ( $header, $body, $err ) {
try {
if ( defined $err ) {
warn 'Firehose error: ' . $err;
# Always try to reconnect if not explicitly fatal
if ( !$err->fatal ) {
$self->say('[DEBUG] Attempting to reconnect in 5 seconds...') if $ENV{DEBUG} || 1;
Mojo::IOLoop->timer( 5 => sub { $start_stream->() } );
}
else {
$self->say('[DEBUG] Fatal firehose error. Exiting.') if $ENV{DEBUG} || 1;
Mojo::IOLoop->remove($keepalive);
Mojo::IOLoop->stop;
}
return;
}
if ($json) {
$self->say( JSON::Tiny::to_json( { header => $header, body => $body } ) );
( run in 0.928 second using v1.01-cache-2.11-cpan-0c5ce583b80 )