Concurrently download up to 5 pages at a time

(cherry picked from commit 150132f4dd40020c3cbc8f72d5a7d63dc695d2b3)
This commit is contained in:
arkon 2020-05-08 18:16:27 -04:00 committed by Jobobby04
parent 4e3c407583
commit 3ffb80c6f1

View File

@ -289,7 +289,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()