class SetQueue(queue.Queue): def _init(self, maxsize): self.queue = OrderedSet() def _put(self, item): self.queue.add(item) def _get(self): head = self.queue.__getitem__(0) self.queue.remove(head) return head