I'm going to start a new reply. The asyncio uses a ratelimiter by default. They way this works is it submits all 10 API calls immediately, and then as one request finishes it dispatches another. When I have high levels of concurrency I have had more luck using a Throttler. If you have 10 API requests pending, it spaces them out in 100ms intervals. I use code like: import asyncio,meraki.aio,throttler
...
async with meraki.aio.AsyncDashboardAPI(
output_log=False,
print_console=False,
maximum_retries=100,
wait_on_rate_limit=True
) as dashboard:
dashboard._session._concurrent_requests_semaphore = throttler.Throttler(rate_limit=4, period=1.0)
...
... View more