Wait -- this calls `process()` for each task left in the queue, even if there's 2500+ of them?  Surely there's a better way to fix the concurrency.  Mabye only call `process()` *n* times where *n* = `concurrency`.