Files
tg-admin-bot/services/queue.py

20 lines
368 B
Python

import asyncio
from typing import Awaitable, Callable
_queue: asyncio.Queue = asyncio.Queue()
async def enqueue(job: Callable[[], Awaitable[None]]) -> int:
await _queue.put(job)
return _queue.qsize()
async def worker():
while True:
job = await _queue.get()
try:
await job()
finally:
_queue.task_done()