Functions
- kafkastreamer.send(objects: Sequence[Model], manager: Manager | None = None, objects_ids: Sequence[int | str] | None = None, msg_type: str | None = None, timestamp: datetime | None = None, batch_size: int | None = None, batch_kwargs: dict[str, Any] | None = None, producer: KafkaProducer | None = None, flush: bool = True) int[source]
Sends objects to the associated streamer.
- kafkastreamer.send_create(objects: Sequence[Model], **kwargs: Any) int[source]
Alias for
send(objects, msg_type=TYPE_DELETE, ...).
- kafkastreamer.send_update(objects: Sequence[Model], **kwargs: Any) int[source]
Alias for
send(objects, msg_type=TYPE_UPDATE, ...).
- kafkastreamer.send_delete(objects: Sequence[Model], **kwargs: Any) int[source]
Alias for
send(objects, msg_type=TYPE_DELETE, ...).
- kafkastreamer.send_refresh(objects: Sequence[Model], **kwargs: Any) int[source]
Alias for
send(objects, msg_type=TYPE_REFRESH, ...).
- kafkastreamer.full_refresh(model_or_manager: type[Model] | Manager | None = None, producer: KafkaProducer | None = None, flush: bool = True) int[source]
Does full refresh for model or manager. Sends refresh message for each object, then sends enumerate message with objects IDs or EOS (end of stream).
- kafkastreamer.set_context(user: Any | None = None, source: str | None = None) Generator[None, None][source]
Context manager to set message streamer context variables.
- kafkastreamer.stop_handlers(*models: type[Model]) Generator[None, None][source]
Context manager to stop handlers for particular or all models.
- kafkastreamer.is_model_handler_stopped(model: type[Model]) bool[source]
Returns
Trueif model handler is stoped.
- kafkastreamer.get_registry() list[tuple[type[Model], Streamer]][source]
Returns (model, streamer) tuples for all registered streamers and models.
- kafkastreamer.get_streamer(model: type[Model]) Streamer | None[source]
Returns streamer instance for given Django model or
None.
Returns a generator of (field, streamer) tuples for all related fields in specified model.
- kafkastreamer.squash() Generator[None, None][source]
Context manager to squash messages. Within this context manager messages are not sent immediately but accumulate in the buffer. Items in buffer is grouped by object ID, so that later items override earliest to avoid unnecessary messages that represent an intermediate state.