def METHOD_NAME(
    self,
    entity: PostProcessForwarderType,
    consumer_group: str,
    topic: Optional[str],
    commit_log_topic: str,
    synchronize_commit_group: str,
    concurrency: int,
    initial_offset_reset: Union[Literal["latest"], Literal["earliest"]],
    strict_offset_reset: bool,
) -> None:
    logger.debug(f"Starting post process forwarder to consume {entity} messages")
    if entity == PostProcessForwarderType.TRANSACTIONS:
        default_topic = self.transactions_topic
    elif entity == PostProcessForwarderType.ERRORS:
        default_topic = self.topic
    elif entity == PostProcessForwarderType.ISSUE_PLATFORM:
        default_topic = self.issue_platform_topic
    else:
        raise ValueError("Invalid entity")
    consumer = self._build_streaming_consumer(
        consumer_group,
        topic or default_topic,
        commit_log_topic,
        synchronize_commit_group,
        concurrency,
        initial_offset_reset,
        strict_offset_reset,
    )
    def handler(signum: int, frame: Any) -> None:
        consumer.signal_shutdown()
    signal.signal(signal.SIGINT, handler)
    signal.signal(signal.SIGTERM, handler)
    consumer.METHOD_NAME()