I'm using async.auto to spawn some subprocesses for tasks in a dependency tree. Right now it just runs as many tasks as it can run at a time, but I'd like to add an option to limit the total amount of tasks running at a given time, in the same way that async.queue currently works.