def push_results(self, kill_event):
logger.debug("<STR_LIT>")<EOL>push_poll_period = max(<NUM_LIT:10>, self.poll_period) / <NUM_LIT:1000>    <EOL>logger.debug("<STR_LIT>".format(push_poll_period))<EOL>last_beat = time.time()<EOL>items = []<EOL>while not kill_event.is_set():<EOL><INDENT>try:<EOL><INDENT>r = self.pending_result_queue.get(block=True, timeout=push_poll_period)<EOL>items.append(r)<EOL><DEDENT>except queue.Empty:<EOL><INDENT>pass<EOL><DEDENT>except Exception as e:<EOL><INDENT>logger.exception("<STR_LIT>".format(e))<EOL><DEDENT>if len(items) >= self.max_queue_size or time.time() > last_beat + push_poll_period:<EOL><INDENT>last_beat = time.time()<EOL>if items:<EOL><INDENT>self.result_outgoing.send_multipart(items)<EOL>items = []<EOL><DEDENT><DEDENT><DEDENT>logger.critical("<STR_LIT>")<EOL>
Listens on the pending_result_queue and sends out results via 0mq

        Parameters:
        -----------
        kill_event : threading.Event
              Event to let the thread know when it is time to die.