def publish_real_time_data_event(self, user_id, event_data): '''Publish a real time data event to kafka user_id The user identity token as a string event_data A string representation of the feature vector for the real-time event data. ''' # Initialize and publish a real time data event instance event = DeviceRealTimeEvent(user_id, event_data) self.producer.send_messages(KafkaEventsProducer.topic_real_time_events, event.serialize())
def consume_device_event(self, timeout=-1): try: msg = self.strategy.dispense_message(timeout) assert(msg.topic == DeviceRealTimeEventsConsumer.topic_real_time_events) event = DeviceRealTimeEvent.from_serialized(msg.value) return event except Queue.Empty: pass return None