Skip to content

Commit a9c7a5f

Browse files
committed
ZDF: Crawler läuft nicht durch
2 parents 758f93a + fe73c1d commit a9c7a5f

3 files changed

Lines changed: 19 additions & 9 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ sourceCompatibility = JavaVersion.VERSION_17
2727
targetCompatibility = JavaVersion.VERSION_17
2828
group = 'de.mediathekview'
2929
archivesBaseName = "MServer"
30-
version = '3.1.261'
30+
version = '3.1.262'
3131

3232
def jarName = 'MServer.jar'
3333
def mainClass = 'mServer.Main'

src/main/java/mServer/crawler/sender/MediathekCrawler.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.concurrent.RecursiveTask;
1010
import java.util.concurrent.TimeUnit;
1111
import mServer.crawler.FilmeSuchen;
12+
import mServer.crawler.RunSender;
1213
import org.apache.logging.log4j.LogManager;
1314
import org.apache.logging.log4j.Logger;
1415

@@ -19,7 +20,7 @@ public abstract class MediathekCrawler extends MediathekReader {
1920

2021
protected final ForkJoinPool forkJoinPool;
2122

22-
public MediathekCrawler(FilmeSuchen aMSearchFilmeSuchen, String aSendername, int aSenderMaxThread, int aSenderWartenSeiteLaden, int aStartPrio) {
23+
protected MediathekCrawler(FilmeSuchen aMSearchFilmeSuchen, String aSendername, int aSenderMaxThread, int aSenderWartenSeiteLaden, int aStartPrio) {
2324
super(aMSearchFilmeSuchen, aSendername, aSenderMaxThread, aSenderWartenSeiteLaden, aStartPrio);
2425

2526
forkJoinPool = createForkJoinPool(aSendername);
@@ -61,13 +62,20 @@ protected void runCrawler() {
6162

6263
Log.sysLog(getSendername() + ": Filme einsortieren..." + films.size());
6364
if (films.isEmpty()) {
64-
LOG.fatal(getSendername() + ": no films found!");
65+
LOG.fatal("{}: no films found!", getSendername());
6566
}
6667

6768
films.forEach(film -> {
6869
if (!Config.getStop()) {
69-
prepareFilm(film);
70-
addFilm(film);
70+
try {
71+
prepareFilm(film);
72+
addFilm(film);
73+
} catch (Exception e) {
74+
final String index = film.getIndexAddOld();
75+
Log.errorLog(974513456, e, index);
76+
LOG.error("{}: Error while processing film: {}: {}", getSendername(), index, e);
77+
FilmeSuchen.listeSenderLaufen.inc(film.arr[DatenFilm.FILM_SENDER], RunSender.Count.FEHLER);
78+
}
7179
}
7280
});
7381
}

src/main/java/mServer/crawler/sender/srf/tasks/SrfTopicOverviewTask.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,13 @@ private AbstractRecursivConverterTask<CrawlerUrlDTO, TopicUrlDTO> createNewOwnIn
5959
protected void processRestTarget(TopicUrlDTO aDTO, WebTarget aTarget) {
6060
PagedElementListDTO<CrawlerUrlDTO> results
6161
= deserialize(aTarget, PAGED_ELEMENT_LIST_URL_TYPE_TOKEN);
62-
taskResults.addAll(results.getElements());
62+
if (results != null) {
63+
taskResults.addAll(results.getElements());
6364

64-
Optional<String> nextPageId = results.getNextPage();
65-
if (nextPageId.isPresent() && pageNumber < maxSubPages) {
66-
processNextPage(aDTO.getTopic(), nextPageId.get());
65+
Optional<String> nextPageId = results.getNextPage();
66+
if (nextPageId.isPresent() && pageNumber < maxSubPages) {
67+
processNextPage(aDTO.getTopic(), nextPageId.get());
68+
}
6769
}
6870
}
6971

0 commit comments

Comments
 (0)