Streamer class
- class kafkastreamer.Streamer(**kwargs: Any)[source]
This class encapsulates all streaming logic related to a particular Django model class
- topic: str | None = None
Kafka topic to stream data.
- exclude: Sequence[str] | None = None
Data fields to exclude.
- include: Sequence[str] | None = None
List of extra (related, computed) fields to include.
- static_fields: dict[str, Any] | None = None
Static data to include in every message.
List of related fields to select in queryset.
List of related fields to prefetch in queryset.
List of related fields to handle changes.
- batch_class
alias of
Batch
- refresh_finalize_type: RefreshFinalizeType = 'enumerate'
Which message type to use at the end when doing a full refresh (enumerate or EOS).
- id_field: str = 'id'
Field name of object ID.
- enumerate_ids_field: str = 'ids'
Field name for list of object IDs in enumerate message.
- enumerate_chunk_field: str = 'chunk'
Field name for chunk in enumerate message.
- enumerate_chunk_size: int = 5000
Chunk size in enumerate message.
- batch_size: int | None = None
Number of records in batch.
- message_serializer: Callable[[...], bytes] | None = None
Serializer function for message serialization. See KafkaProducer documentation for details.
- partition_key_serializer: Callable[[...], bytes] | None = None
Partition key serializer function. See KafkaProducer documentation for details.
- partitioner: Callable[[bytes, list[int], list[int]], int] | None = None
Partitioner function. See KafkaProducer documentation for details.