franz 0.2.0 copy "franz: ^0.2.0" to clipboard
franz: ^0.2.0 copied to clipboard

Dart library using librdkafka via FFI

example/franz_example.dart

import 'dart:io';

import 'package:franz/franz.dart';

void main() async {
  final hostname = Platform.environment["HOSTNAME"] ?? "default";

  // Set-up Kafka server
  final kafka =
      KafkaServer.redpanda(hostname: hostname, clientId: 'random-franz');

  // Create producer & producing topic
  final producer = kafka.createProducer();
  final produceTopic = producer.useTopic("franz.test2");

  // Create consumer & attach previously created handler
  final consumer = kafka.createConsumer(groupId: 'franz-1');
  final consumeTopic = consumer.useTopic("funnel.telemetry-ua");

  // Start consuming & listen to consumer stream
  final activeConsumer =
      await consumeTopic.consumeStart(0, ConsumerOffset.end());
  final listener = activeConsumer.stream.listen((record) {
    final textRecord = record.toTextRecord();
    print(textRecord.toString());
  });

  // While consumer is consuming, produce some messages, asynchronously ofc
  while (true) {
    produceTopic.produceStringMessage(
        key: "zdar", payload: "no nazdaaaar", partition: 0);
    await Future.delayed(const Duration(seconds: 2));
  }

  await listener.cancel();
  await consumeTopic.consumeStop(activeConsumer);
}
0
likes
130
points
41
downloads

Publisher

unverified uploader

Weekly Downloads

Dart library using librdkafka via FFI

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, path

More

Packages that depend on franz