minor
This commit is contained in:
parent
764c6a3ee2
commit
a0da981c29
|
@ -4,6 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
@ -41,14 +42,13 @@ public class OpenaireInternalApiController extends AbstractDnetController {
|
||||||
|
|
||||||
synchronized (lastExecution) {
|
synchronized (lastExecution) {
|
||||||
if (lastExecution.getStatus() != ImportStatus.RUNNING) {
|
if (lastExecution.getStatus() != ImportStatus.RUNNING) {
|
||||||
lastExecution.startNew();
|
lastExecution.startNew("Importing dedup events - request from " + req.getRemoteAddr());
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
databaseUtils.importDedupEvents();
|
databaseUtils.importDedupEvents();
|
||||||
lastExecution.complete();
|
lastExecution.complete();
|
||||||
} catch (final Throwable e) {
|
} catch (final Throwable e) {
|
||||||
lastExecution.fail(e);
|
lastExecution.fail(e);
|
||||||
log.error("Error importing conflicts and duplicates", e);
|
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
} else {
|
} else {
|
||||||
|
@ -85,7 +85,7 @@ public class OpenaireInternalApiController extends AbstractDnetController {
|
||||||
private Long dateStart;
|
private Long dateStart;
|
||||||
private Long dateEnd;
|
private Long dateEnd;
|
||||||
private ImportStatus status = ImportStatus.NOT_LAUNCHED;
|
private ImportStatus status = ImportStatus.NOT_LAUNCHED;
|
||||||
private String error;
|
private String message;
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
|
@ -119,31 +119,41 @@ public class OpenaireInternalApiController extends AbstractDnetController {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getError() {
|
public String getMessage() {
|
||||||
return error;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setError(final String error) {
|
public void setMessage(final String message) {
|
||||||
this.error = error;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startNew() {
|
public void startNew(final String message) {
|
||||||
setId("import-" + UUID.randomUUID());
|
setId("import-" + UUID.randomUUID());
|
||||||
setDateStart(new Date().getTime());
|
setDateStart(System.currentTimeMillis());
|
||||||
setDateEnd(null);
|
setDateEnd(null);
|
||||||
setStatus(ImportStatus.RUNNING);
|
setStatus(ImportStatus.RUNNING);
|
||||||
setError(null);
|
setMessage(message);
|
||||||
|
log.info(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void complete() {
|
public void complete() {
|
||||||
setDateEnd(new Date().getTime());
|
setDateEnd(System.currentTimeMillis());
|
||||||
setStatus(ImportStatus.SUCCESS);
|
setStatus(ImportStatus.SUCCESS);
|
||||||
|
|
||||||
|
final long millis = getDateEnd() - getDateStart();
|
||||||
|
setMessage(String
|
||||||
|
.format("Import of dedup events completed in %d min, %d sec", TimeUnit.MILLISECONDS.toMinutes(millis), TimeUnit.MILLISECONDS.toSeconds(millis) -
|
||||||
|
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))));
|
||||||
|
|
||||||
|
log.info(getMessage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void fail(final Throwable e) {
|
public void fail(final Throwable e) {
|
||||||
setDateEnd(new Date().getTime());
|
setDateEnd(new Date().getTime());
|
||||||
setStatus(ImportStatus.FAILED);
|
setStatus(ImportStatus.FAILED);
|
||||||
setError(e.getMessage());
|
setMessage(e.getMessage());
|
||||||
|
log.error("Error importing conflicts and duplicates", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue