Project

General

Profile

« Previous | Next » 

Revision 42081

New job parameter to set the sleep time between two subsequent GET request for file download (sleepTimeMs) from the same thread.

View differences:

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