StoreRecordHandler

StoreRecordHandler class

This class was call when store consumer receive an new StoreRecord event and store msg in local & global store

class tonga.models.handlers.store.store_record_handler.StoreRecordHandler(store_builder: tonga.stores.store_builder.base.BaseStoreBuilder)[source]

Bases: tonga.models.handlers.base.BaseStoreRecordHandler

StoreRecordHandler Class

Variables:_store_builder (BaseStoreBuilder) – Store builder class, used for build & maintain local & global store
__init__(store_builder: tonga.stores.store_builder.base.BaseStoreBuilder) → None[source]

StoreRecordHandler constructor

Parameters:store_builder (BaseStoreBuilder) – Store builder class, used for build & maintain local & global store
Returns:None
global_store_handler(store_record: tonga.models.records.base.BaseStoreRecord, group_id: str, tp: kafka.structs.TopicPartition, offset: int) → None[source]

This function is automatically call by Tonga when an BaseStore with same name was receive by consumer. Used for build global store.

Parameters:
  • store_record (BaseStoreRecord) – StoreRecord event receive by consumer
  • tp (TopicPartition) – NamedTuple with topic name & partition number (more information in kafka-python or aiokafka
  • group_id (str) – Consumer group id, useful for make transaction in handler
  • offset (int) – Offset of receive message (used for commit transaction)
Raises:

NotImplementedError – Abstract def

Returns:

None

classmethod handler_name() → str[source]

Return store record handler name, used by serializer

Returns:StoreRecordHandler name
Return type:str
local_store_handler(store_record: tonga.models.records.base.BaseStoreRecord, group_id: str, tp: kafka.structs.TopicPartition, offset: int) → None[source]

This function is automatically call by Tonga when an BaseStore with same name was receive by consumer. Used for build local store.

Parameters:
  • store_record (BaseStoreRecord) – StoreRecord event receive by consumer
  • tp (TopicPartition) – NamedTuple with topic name & partition number (more information in kafka-python or aiokafka
  • group_id (str) – Consumer group id, useful for make transaction in handler
  • offset (int) – Offset of receive message (used for commit transaction)
Raises:

NotImplementedError – Abstract def

Returns:

None

Errors

All store record errors

exception tonga.models.handlers.store.errors.UnknownStoreRecordType[source]

Bases: Exception

This error was raised when store record type as been unknown