From 8566dc158079d7cf13536a41603b698568f70db6 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@bioforsk.no> Date: Tue, 3 Nov 2015 09:54:28 +0100 Subject: [PATCH] Added forecast caching service locally available for cron jobs --- .../vips/logic/service/LogicService.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/no/nibio/vips/logic/service/LogicService.java b/src/main/java/no/nibio/vips/logic/service/LogicService.java index 04a9b89e..1709b624 100644 --- a/src/main/java/no/nibio/vips/logic/service/LogicService.java +++ b/src/main/java/no/nibio/vips/logic/service/LogicService.java @@ -22,6 +22,7 @@ package no.nibio.vips.logic.service; import com.ibm.icu.util.ULocale; import java.util.TimeZone; import de.micromata.opengis.kml.v_2_2_0.Kml; +import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -487,7 +488,29 @@ public class LogicService { return Response.ok().entity(observations).build(); } - + /** + * Service available locally for cron jobs. Most useful on test servers + * @return + */ + @GET + @Path("batch/updateforecastcaches") + @Produces("text/plain;charset=UTF-8") + public Response updateForecastCaches() + { + //System.out.println(httpServletRequest.getHeader("X-Forwarded-For")); + if(!ServletUtil.getClientIP(httpServletRequest).equals("127.0.0.1")) + { + return Response.status(Response.Status.UNAUTHORIZED).build(); + } + Date start = new Date(); + SessionControllerGetter.getForecastBean().updateForecastResultCacheTable(); + SessionControllerGetter.getForecastBean().updateForecastSummaryTable(SystemTime.getSystemTime()); + Long timeLapsed = new Date().getTime() - start.getTime(); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + return Response.ok().entity("Forecast caches were successfully updated with data from today (" + + format.format(SystemTime.getSystemTime()) + + "). Time spent=" + timeLapsed + " milliseconds.\n").build(); + } private ManagerResource getManagerResource() { -- GitLab