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