from collections import deque from typing import Optional from api.chat.chat_api import ChatAPI from .base import ChatQueueBase class DequeQueue(ChatQueueBase): def __init__(self): self.queue = deque() async def add(self, api_key: str) -> None: self.queue.append(ChatAPI(api_key=api_key)) async def get(self) -> Optional[ChatAPI]: if not self.queue: return None chat = self.queue.popleft() self.queue.append(chat) return chat async def length(self) -> int: return len(self.queue)