async function distributeWorkload(workers, count = 50) {
  const methods = workers.slice()

  async function task() {
    while (methods.length > 0) {
      await methods.pop()()
    }
  }

  await Promise.all(new Array(count).fill(undefined).map(() => task()))
}
@name distributeWorkload
@param workers A list of async functions to complete
@param {number} count The number of task runners to use (see assetDownloadWorkers in config)