100302: Add delays between specific Pubmed calls

This commit is contained in:
Yana De Pauw
2023-03-30 16:28:31 +02:00
parent 56aca5c14f
commit b43a92062f
2 changed files with 24 additions and 1 deletions

View File

@@ -292,7 +292,14 @@ public class PubmedImportMetadataSourceServiceImpl extends AbstractImportMetadat
int countAttempt = 0; int countAttempt = 0;
while (StringUtils.isBlank(response) && countAttempt <= attempt) { while (StringUtils.isBlank(response) && countAttempt <= attempt) {
countAttempt++; countAttempt++;
long time = System.currentTimeMillis() - lastRequest;
if ((time) < interRequestTime) {
Thread.sleep(interRequestTime - time);
}
response = liveImportClient.executeHttpGetRequest(1000, uriBuilder.toString(), params); response = liveImportClient.executeHttpGetRequest(1000, uriBuilder.toString(), params);
lastRequest = System.currentTimeMillis();
} }
if (StringUtils.isBlank(response)) { if (StringUtils.isBlank(response)) {
@@ -316,7 +323,13 @@ public class PubmedImportMetadataSourceServiceImpl extends AbstractImportMetadat
countAttempt = 0; countAttempt = 0;
while (StringUtils.isBlank(response2) && countAttempt <= attempt) { while (StringUtils.isBlank(response2) && countAttempt <= attempt) {
countAttempt++; countAttempt++;
long time = System.currentTimeMillis() - lastRequest;
if ((time) < interRequestTime) {
Thread.sleep(interRequestTime - time);
}
response2 = liveImportClient.executeHttpGetRequest(1000, uriBuilder2.toString(), params2); response2 = liveImportClient.executeHttpGetRequest(1000, uriBuilder2.toString(), params2);
lastRequest = System.currentTimeMillis();
} }
if (StringUtils.isBlank(response2)) { if (StringUtils.isBlank(response2)) {
@@ -418,7 +431,13 @@ public class PubmedImportMetadataSourceServiceImpl extends AbstractImportMetadat
int countAttempt = 0; int countAttempt = 0;
while (StringUtils.isBlank(response) && countAttempt <= attempt) { while (StringUtils.isBlank(response) && countAttempt <= attempt) {
countAttempt++; countAttempt++;
long time = System.currentTimeMillis() - lastRequest;
if ((time) < interRequestTime) {
Thread.sleep(interRequestTime - time);
}
response = liveImportClient.executeHttpGetRequest(1000, uriBuilder.toString(), params); response = liveImportClient.executeHttpGetRequest(1000, uriBuilder.toString(), params);
lastRequest = System.currentTimeMillis();
} }
if (StringUtils.isBlank(response)) { if (StringUtils.isBlank(response)) {
@@ -441,7 +460,12 @@ public class PubmedImportMetadataSourceServiceImpl extends AbstractImportMetadat
countAttempt = 0; countAttempt = 0;
while (StringUtils.isBlank(response2) && countAttempt <= attempt) { while (StringUtils.isBlank(response2) && countAttempt <= attempt) {
countAttempt++; countAttempt++;
long time = System.currentTimeMillis() - lastRequest;
if ((time) < interRequestTime) {
Thread.sleep(interRequestTime - time);
}
response2 = liveImportClient.executeHttpGetRequest(1000, uriBuilder2.toString(), params2); response2 = liveImportClient.executeHttpGetRequest(1000, uriBuilder2.toString(), params2);
lastRequest = System.currentTimeMillis();
} }
if (StringUtils.isBlank(response2)) { if (StringUtils.isBlank(response2)) {

View File

@@ -50,7 +50,6 @@
<property name="urlSearch" value="${pubmed.url.search}"/> <property name="urlSearch" value="${pubmed.url.search}"/>
<property name="generateQueryForItem" ref="pubmedService"></property> <property name="generateQueryForItem" ref="pubmedService"></property>
<property name="interRequestTime" value="500"/> <property name="interRequestTime" value="500"/>
<property name="maxRetry" value="2"/>
<property name="supportedExtensions"> <property name="supportedExtensions">
<list> <list>
<value>xml</value> <value>xml</value>