У меня есть сервер, который читает сообщения из очереди SQS с длинным опросом, который блокирует выполнение сопрограммы. Есть ли способ оставить процессоры работающими, пока планировщик заблокирован в ожидании новых сообщений?
import asyncio
import time
NUM_EXEC = 10
async def processor(i):
print (f"Starting {i}")
for n in range(10):
print(f"Processor {i} cycle {n}")
await asyncio.sleep(1)
async def scheduler():
for i in range(NUM_EXEC):
#Blocking SQS long poll
time.sleep(5)
#Run processor
await asyncio.ensure_future(processor(i))
loop = asyncio.get_event_loop()
loop.run_until_complete(scheduler())