def get_min_max_offsets(self): end = get_multi_topic_offset([COMMCARE_USER])[COMMCARE_USER] start = get_multi_topic_first_available_offsets([COMMCARE_USER ])[COMMCARE_USER] return start, { partition: offset - 1 for partition, offset in end.items() } # end is next available offset
def _get_kafka_seq(self): # KafkaChangeFeed listens for multiple topics (form, form-sql) in the form pillow, # so we need to provide a dict of seqs to kafka return get_multi_topic_offset([topics.FORM, topics.FORM_SQL])
def _get_kafka_seq(self): # KafkaChangeFeed listens for multiple topics (case, case-sql) in the case search pillow, # so we need to provide a dict of seqs to kafka return get_multi_topic_offset([topics.CASE, topics.CASE_SQL])
def topic_and_partitions(self): return list(self._get_partitioned_offsets(get_multi_topic_offset(self.topics)))
def get_latest_offsets(self): return self._filter_offsets(get_multi_topic_offset(self.topics))
def get_current_offsets(self): return get_multi_topic_offset(self.topics)
def __enter__(self): self.kafka_seq = get_multi_topic_offset(self.topics) self.changes = [] return self
def get_min_max_offsets(self): end = get_multi_topic_offset([COMMCARE_USER])[COMMCARE_USER] start = get_multi_topic_first_available_offsets([COMMCARE_USER ])[COMMCARE_USER] return start, end - 1 # end is next available offset
def __enter__(self): if len(self.topics) == 1: self.kafka_seq = get_topic_offset(self.topics[0]) else: self.kafka_seq = get_multi_topic_offset(self.topics)
def _get_kafka_seq(self): return get_multi_topic_offset([topics.FORM_SQL, topics.FORM])
def get_latest_offsets(self): return get_multi_topic_offset(self.topics)