diff --git a/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java b/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java index 67fd8510..7af51246 100644 --- a/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java +++ b/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java @@ -88,6 +88,7 @@ public class CrawlJob implements Comparable, ApplicationListener { File primaryConfig; PathSharingContext ac; int launchCount; + public boolean partialJobLogScan; DateTime lastLaunch; AlertThreadGroup alertThreadGroup; @@ -96,6 +97,7 @@ public class CrawlJob implements Comparable, ApplicationListener { public CrawlJob(File cxml) { primaryConfig = cxml; + partialJobLogScan = false; scanJobLog(); alertThreadGroup = new AlertThreadGroup(getShortName()); } @@ -159,8 +161,8 @@ public class CrawlJob implements Comparable, ApplicationListener { try { Pattern launchLine = Pattern.compile("(\\S+) (\\S+) Job launched"); if (jobLog.length() > FileUtils.ONE_KB * 100) { + partialJobLogScan = true; // indicate that job log is too big to count launches accurately - launchCount = -1; getJobLogger().log(Level.INFO,"Job log (" + jobLog.toString() + ") too big (" + NumberFormat.getInstance().format(jobLog.length()) + " bytes) to efficiently count launches. OK to move aside."); @@ -172,6 +174,7 @@ public class CrawlJob implements Comparable, ApplicationListener { while ((line = jobLogBfr.readLine()) != null) { Matcher m = launchLine.matcher(line); if (m.matches()) { + launchCount++; lastLaunch = new DateTime(m.group(1)); } } @@ -223,7 +226,12 @@ public class CrawlJob implements Comparable, ApplicationListener { if(isProfile()) { pw.println("(profile)"); } - pw.println(" " + getLaunchCount() + " launches"); + if (true == partialJobLogScan) { + pw.print(" at least "); + } else { + pw.print(" "); + } + pw.println(getLaunchCount() + " launches"); pw.println("
"); pw.println(getPrimaryConfig()); pw.println("
"); diff --git a/engine/src/main/java/org/archive/crawler/restlet/JobResource.java b/engine/src/main/java/org/archive/crawler/restlet/JobResource.java index 8fa08934..9a3bca13 100644 --- a/engine/src/main/java/org/archive/crawler/restlet/JobResource.java +++ b/engine/src/main/java/org/archive/crawler/restlet/JobResource.java @@ -233,6 +233,9 @@ public class JobResource extends BaseResource { pw.println(""); pw.print("

Job "+cj.getShortName()+" ("); + if (cj.partialJobLogScan) { + pw.print(" at least "); + } pw.print(cj.getLaunchCount() + " launches"); if(cj.getLastLaunch()!=null) { long ago = System.currentTimeMillis() - cj.getLastLaunch().getMillis();