import asyncio


async def worker(request, result):

    while True:

        data = await request.get()
        print("worker", data)
        await asyncio.sleep(0.1)
        await result.put(str.upper(data))


async def yoba():

    request = asyncio.Queue()
    result = asyncio.Queue()

    workers = [loop.create_task(worker(request, result)) for _ in range(5)]

    for i in range(15):

        await request.put(str.format("yoba {}", i))

    while True:

        data = await result.get()
        print("yoba", data)


if __name__ == "__main__":

    loop = asyncio.get_event_loop()
    loop.run_until_complete(yoba())
