#1
|
|||
|
|||
Link processing stuck for long time on each link when many links in queue
First and foremost i shall state that i have no idea of Java(i can read it perfectly fine but could not write a functionality without checking google even to save my life), now that i clarified that lets begin.
I have been having problems downloading deviantart galleries since few months ago and out of frustration (and a little reminder of the source code availability by a dev) i jumped head first to try and see why it was taking so long(sometimes up to minutes) to process 1 single link. What i found is that on each start of each new link, jdownloader is going through EVERY SINGLE ACTIVE DOWNLOAD in queue before trying to actually download the link that it already started processing. All of that happens inside: File: "JDownloader/src/jd/controlling/downloadcontroller/DownloadWatchDog.java" Line: Around 1455(did quite some System.out.println and other modifications, line num is not exact) Function: "nextDownloadLinkCandidates()" It loops the "while (!selector.isStopMarkReached() && newDLStartAllowed(currentSession))" loop for every active link and it can take up to several minutes to finish, which IMHO (and my ignorance) is very unnecessary. My solution: As i don't know shiet about how jDownloader works i don't know how to get variables like "Max simultaneous downloads" or the Plugins' specific "simultaneous limit" either, so i just put a counter and a fixed limit of 10 to limit the max loop executions. Code:
int maxLoops = 10; int currentLoops = 0; while (!selector.isStopMarkReached() && newDLStartAllowed(currentSession) && currentLoops++ < maxLoops) My suggestion for who know what are they doing: First: It should be limited by the plugins' "Max simultaneous downloads" Second: It should be limited by the Global "Max simultaneous downloads" Result: It improved the links' processing time from minutes per link to ONLY few seconds. Note: If i'm wrong in anything said here feel free to correct me |
Thread Tools | |
Display Modes | |
|
|