asyncio-gather-for-concurrent-task-dispatch

The initial mc-dispatcher used sequential await dispatch(task) calls, meaning only one task dispatched per polling interval. Using asyncio.gather(*[dispatch(t) for t in pending_tasks]) dispatches all ready tasks concurrently within a single poll cycle, dramatically improving throughput under load.