Привет, у меня проблема с асинхронными очередями.У меня есть «сервер» asyncio с TCP-соединениями, и я хотел бы сделать что-то вроде уборщика очереди.
loop = asyncio.get_event_loop()
coro = asyncio.start_server(server, '127.0.0.1', 8888, loop=loop)
server = loop.run_until_complete(coro)
print('Serving on {}'.format(server.sockets[0].getsockname()))
while True:
loop.run_until_complete(main())
и main () - это
async def main():
if queue.empty() == True:
pass
while queue.empty() != True:
item = await queue.get()
print(item)
print("queue items: ")
print(queue.qsize())
Но я не думаю, что это лучший метод для выполнения задач из очереди.Я хочу сделать второй скрипт, который думает только очередь.Есть ли какой-нибудь способ подключиться к моей очереди серверов снаружи и сделать что-то с этим?
Теперь это выглядит так: клиент -> сервер => получить задачу и добавить ее в очередь -> сделать цикл чистым.Это не асинхронно, потому что логически у меня никогда не будет больше, чем 1 мысль в очереди.
Я хочу:
клиент -> сервер => получить задачу <= очистить задачи извне </p>