File size: 404 Bytes
a55ea57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from abc import ABC, abstractmethod
from typing import Iterable

from src.lib.tracing.events import TraceEvent


class TraceSubscriber(ABC):
    @abstractmethod
    def handle(self, event: TraceEvent) -> None:
        raise NotImplementedError("handle method not implemented")

    def handle_many(self, events: Iterable[TraceEvent]) -> None:
        for event in events:
            self.handle(event)