Как заставить метод из абстрактного суперкласса всегда выполнять одну и ту же первую строку кода в python? - PullRequest
0 голосов
/ 06 марта 2019

Я реализовал абстрактный класс BaseMicroservice со следующими методами:

@abstractmethod
def handle(self, message):
    pass

def init_producer(self):
    self.producer = KafkaProducer(bootstrap_servers=self.config.get('kafka').get('bootstrap_servers'),
                                  value_serializer=lambda m: json.dumps(m).encode('utf-8'))
    self.is_prod_init = True

всякий раз, когда дескриптор вызывается в одном из подклассов, реализующих этот метод, я хочу, чтобы первым делом было сделаноinit_producer.Какой лучший способ достичь этого?Повторение self.init_producer () для каждого дескриптора в каждом классе не выглядит хорошим обходным путем

...