Concurrently download up to 5 pages at a time

pull/3372/head
arkon 4 years ago committed by Jay
parent f96f25b1f6
commit f2fe1a7c23

@ -294,7 +294,8 @@ class Downloader(
// Get all the URLs to the source images, fetch pages if necessary
.flatMap { download.source.fetchAllImageUrlsFromPageList(it) }
// Start downloading images, consider we can have downloaded images already
.concatMap { page -> getOrDownloadImage(page, download, tmpDir) }
// Concurrently do 5 pages at a time
.flatMap({ page -> getOrDownloadImage(page, download, tmpDir) }, 5)
// Do when page is downloaded.
.doOnNext { notifier.onProgressChange(download) }.toList().map { _ -> download }
// Do after download completes

Loading…
Cancel
Save