mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
(screenshot-capture-tool) Make screenshot bot spend time refreshing old screenshots instead of always capturing new ones
This commit is contained in:
parent
f19148132a
commit
02b1c4b172
@ -16,6 +16,7 @@ import java.net.http.HttpClient;
|
|||||||
import java.net.http.HttpRequest;
|
import java.net.http.HttpRequest;
|
||||||
import java.net.http.HttpResponse;
|
import java.net.http.HttpResponse;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -137,16 +138,32 @@ public class ScreenshotCaptureToolMain {
|
|||||||
List<EdgeDomain> ret = new ArrayList<>(queueSize);
|
List<EdgeDomain> ret = new ArrayList<>(queueSize);
|
||||||
|
|
||||||
try (var conn = ds.getConnection(); var stmt = conn.createStatement()) {
|
try (var conn = ds.getConnection(); var stmt = conn.createStatement()) {
|
||||||
var rsp = stmt.executeQuery(
|
int newCount = queueSize / 4;
|
||||||
|
int oldCount = queueSize - newCount;
|
||||||
|
|
||||||
|
ResultSet rst = stmt.executeQuery(
|
||||||
"""
|
"""
|
||||||
SELECT EC_DOMAIN.DOMAIN_NAME FROM EC_DOMAIN
|
SELECT EC_DOMAIN.DOMAIN_NAME FROM EC_DOMAIN
|
||||||
LEFT JOIN DATA_DOMAIN_HISTORY ON EC_DOMAIN.DOMAIN_NAME=DATA_DOMAIN_HISTORY.DOMAIN_NAME
|
LEFT JOIN DATA_DOMAIN_HISTORY ON EC_DOMAIN.DOMAIN_NAME=DATA_DOMAIN_HISTORY.DOMAIN_NAME
|
||||||
ORDER BY SCREENSHOT_DATE IS NULL DESC, SCREENSHOT_DATE, INDEXED DESC
|
ORDER BY SCREENSHOT_DATE IS NULL DESC, SCREENSHOT_DATE, INDEXED DESC
|
||||||
LIMIT
|
LIMIT
|
||||||
""" + queueSize);
|
""" + newCount);
|
||||||
while (rsp.next()) {
|
while (rst.next()) {
|
||||||
ret.add(new EdgeDomain(rsp.getString(1)));
|
ret.add(new EdgeDomain(rst.getString(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rst = stmt.executeQuery("""
|
||||||
|
SELECT DATA_DOMAIN_HISTORY.DOMAIN_NAME FROM DATA_DOMAIN_HISTORY
|
||||||
|
INNER JOIN DATA_DOMAIN_SCREENSHOT ON DATA_DOMAIN_SCREENSHOT.DOMAIN_NAME = DATA_DOMAIN_HISTORY.DOMAIN_NAME
|
||||||
|
WHERE SCREENSHOT_DATE IS NOT NULL
|
||||||
|
ORDER BY SCREENSHOT_DATE ASC
|
||||||
|
""" + oldCount);
|
||||||
|
|
||||||
|
while (rst.next()) {
|
||||||
|
ret.add(new EdgeDomain(rst.getString(1)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex) {
|
catch (Exception ex) {
|
||||||
logger.warn("Exception in fetching queue", ex);
|
logger.warn("Exception in fetching queue", ex);
|
||||||
|
Loading…
Reference in New Issue
Block a user