A task-length aware rate limiter that waits for tasks to finish before counting them against the rate limit