Revision 42081
Added by Alessia Bardi about 8 years ago
DownloadWorker.java | ||
---|---|---|
60 | 60 |
private int readTimeoutMs; |
61 | 61 |
|
62 | 62 |
/** |
63 |
* ms to wait between two subsequent download request |
|
64 |
**/ |
|
65 |
private int sleepTimeMs; |
|
66 |
|
|
67 |
/** |
|
63 | 68 |
* Instantiates a new download worker. |
64 | 69 |
* |
65 | 70 |
* @param queue |
... | ... | |
76 | 81 |
final Protocols protocol, |
77 | 82 |
final String mimeType, |
78 | 83 |
final int connectTimeoutMs, |
79 |
final int readTimeoutMs, |
|
84 |
final int readTimeoutMs, final int sleepTimeMs,
|
|
80 | 85 |
final Function<String, DownloadItem> converter) { |
81 | 86 |
this.setConverter(converter); |
82 | 87 |
this.setQueue(queue); |
... | ... | |
85 | 90 |
this.setProtocol(protocol); |
86 | 91 |
this.setConnectTimeoutMs(connectTimeoutMs); |
87 | 92 |
this.setReadTimeoutMs(readTimeoutMs); |
93 |
this.setSleepTimeMs(sleepTimeMs); |
|
88 | 94 |
} |
89 | 95 |
|
90 | 96 |
/* |
... | ... | |
140 | 146 |
|
141 | 147 |
private void doDownload(final long threadId, final DownloadReportMap report, final DownloadItem di) { |
142 | 148 |
try { |
149 |
if (getSleepTimeMs() > 0) { |
|
150 |
log.debug(threadId + ": I will sleep for " + getSleepTimeMs() + " ms, as requested..."); |
|
151 |
Thread.sleep(getSleepTimeMs()); |
|
152 |
} |
|
153 |
|
|
143 | 154 |
final URL toDownload = followURL(threadId, new URL(di.getUrl()), report, di); |
144 | 155 |
final ObjectStoreRecord record = new ObjectStoreRecord(); |
145 | 156 |
final ObjectStoreFile metadata = new ObjectStoreFile(); |
... | ... | |
280 | 291 |
public void setConnectTimeoutMs(final int connectTimeoutMs) { |
281 | 292 |
this.connectTimeoutMs = connectTimeoutMs; |
282 | 293 |
} |
294 |
|
|
295 |
public int getSleepTimeMs() { |
|
296 |
return sleepTimeMs; |
|
297 |
} |
|
298 |
|
|
299 |
public void setSleepTimeMs(final int sleepTimeMs) { |
|
300 |
this.sleepTimeMs = sleepTimeMs; |
|
301 |
} |
|
283 | 302 |
} |
Also available in: Unified diff
New job parameter to set the sleep time between two subsequent GET request for file download (sleepTimeMs) from the same thread.