Fila iterável em Python

Eu preciso saber quando uma fila está fechada e não terá mais itens para que eu possa terminar a iteração.

Eu fiz isso colocando um sentinela na fila:

from Queue import Queue

class IterableQueue(Queue): 

    _sentinel = object()

    def __iter__(self):
        return self

    def close(self):
        self.put(self._sentinel)

    def next(self):
        item = self.get()
        if item is self._sentinel:
            raise StopIteration
        else:
            return item

Como esse é um uso muito comum para uma fila, não há nenhuma implementação integrada?

questionAnswers(2)

yourAnswerToTheQuestion