e4bfab7e58
Replace sequential node checks with asyncio.gather so all nodes are checked in parallel. Add coalesce=True + max_instances=1 to suppress APScheduler "maximum instances reached" log spam.