Data-Enumerable-Lazy
view release on metacpan or search on metacpan
on_next => sub {
# Blocking right POP
$redis->brpop();
},
});
while (my $queue_item = $queue_enum->next) {
# do something with the queue item
}
In this example the client is blocked until there is an element
available in the queue, but it's hidden away from the clients who
consume the data item by item.
Kafka example
Kafka consumer wrapper is another example of a lazy calculation
application. Lazy enumerables are very naturally co-operated with
streaming data, like Kafka. In this example we're fetching batches of
messages from Kafka topic, grep out corrupted ones and proceed with the
mesages.
lib/Data/Enumerable/Lazy.pm view on Meta::CPAN
on_next => sub {
# Blocking right POP
$redis->brpop();
},
});
while (my $queue_item = $queue_enum->next) {
# do something with the queue item
}
In this example the client is blocked until there is an element available in
the queue, but it's hidden away from the clients who consume the data item by
item.
=head2 Kafka example
Kafka consumer wrapper is another example of a lazy calculation application.
Lazy enumerables are very naturally co-operated with streaming data, like
Kafka. In this example we're fetching batches of messages from Kafka topic,
grep out corrupted ones and proceed with the mesages.
( run in 0.991 second using v1.01-cache-2.11-cpan-49f99fa48dc )