def METHOD_NAME(self):
    results = queue.Queue()
    def processed(task):
        buf = output_task.get_output_buffer()
        results.put(asarray(buf).copy())
        output_task.release_output_buffer(buf)
    output_task = Ufo.OutputTask()
    output_task.connect('processed', processed)
    self.env.graph.connect_nodes(self.task, output_task)
    self.run()
    while not self.env.done or not results.empty():
        try:
            yield results.get(True, 0.01)
        except queue.Empty:
            pass
    self.join()