From 1e21900fa94e0469cdf5444337fbe66a99e0177f Mon Sep 17 00:00:00 2001 From: Björn Geiger Date: Mon, 12 Sep 2011 12:36:34 +0200 Subject: verschiedene Korrekturen --- .../controllerWorker/ControllerWorker/Boot.java | 2 +- .../ControllerWorker/ControllerWorker.jar | Bin 0 -> 924682 bytes .../ControllerWorker/ControllerWorkerMain.java | 32 +++++++- .../ControllerWorker/PoolctrlRequest.java | 83 +++++++++++++++++++++ .../ControllerWorker/RunEvents.java | 70 ----------------- .../ControllerWorker/Shutdown.java | 2 +- .../ControllerWorker/SomePingWorker.java | 2 +- 7 files changed, 114 insertions(+), 77 deletions(-) create mode 100644 gearman/controllerWorker/ControllerWorker/ControllerWorker.jar create mode 100755 gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java delete mode 100755 gearman/controllerWorker/ControllerWorker/RunEvents.java (limited to 'gearman') diff --git a/gearman/controllerWorker/ControllerWorker/Boot.java b/gearman/controllerWorker/ControllerWorker/Boot.java index 1811734..5c6866a 100755 --- a/gearman/controllerWorker/ControllerWorker/Boot.java +++ b/gearman/controllerWorker/ControllerWorker/Boot.java @@ -103,7 +103,7 @@ public class Boot extends Thread { timeLeft = 10; Thread.sleep(timeLeft); } catch (Exception e) { - logger.error(e.getStackTrace()); + logger.error(e.toString()); } } finished = true; diff --git a/gearman/controllerWorker/ControllerWorker/ControllerWorker.jar b/gearman/controllerWorker/ControllerWorker/ControllerWorker.jar new file mode 100644 index 0000000..5a1083f Binary files /dev/null and b/gearman/controllerWorker/ControllerWorker/ControllerWorker.jar differ diff --git a/gearman/controllerWorker/ControllerWorker/ControllerWorkerMain.java b/gearman/controllerWorker/ControllerWorker/ControllerWorkerMain.java index 1a090b2..d668cd2 100755 --- a/gearman/controllerWorker/ControllerWorker/ControllerWorkerMain.java +++ b/gearman/controllerWorker/ControllerWorker/ControllerWorkerMain.java @@ -1,13 +1,22 @@ package ControllerWorker; +import java.io.FileInputStream; +import java.util.PropertyResourceBundle; +import java.util.ResourceBundle; + import org.gearman.common.GearmanJobServerConnection; import org.gearman.common.GearmanNIOJobServerConnection; import org.gearman.worker.GearmanWorker; import org.gearman.worker.GearmanWorkerImpl; import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; public class ControllerWorkerMain { + private static final Logger logger = Logger + .getLogger(ControllerWorkerMain.class); + private static ResourceBundle iniFile; + public static void main(String[] args) { final GearmanJobServerConnection connection = new GearmanNIOJobServerConnection( "127.0.0.1", 4730); @@ -18,10 +27,25 @@ public class ControllerWorkerMain { worker.registerFunction(StatusWorker.class); worker.addServer(connection); BasicConfigurator.configure(); + iniFile = getIniFile("../../application/configs/application.ini"); + String runURL = "http://" + iniFile.getString("poolctrl.host") + + iniFile.getString("poolctrl.runevent"); + String reportURL = "http://" + iniFile.getString("poolctrl.host") + + iniFile.getString("poolctrl.runevent"); + long updatePeriod = Long.parseLong(iniFile + .getString("event.updatePeriod")) * 60L * 1000000000L; // nanoseconds + PoolctrlRequest poolctrlRequest; + poolctrlRequest = new PoolctrlRequest(runURL, reportURL, updatePeriod); + poolctrlRequest.run(); worker.work(); - RunEvents runEvents; - runEvents = new RunEvents( - "http://poolctrl.local/event/run/apikey/apikey1", 300000L); - runEvents.run(); + } + + private static PropertyResourceBundle getIniFile(String file) { + try { + return new PropertyResourceBundle(new FileInputStream(file)); + } catch (Exception e) { + logger.error(e.toString()); + return null; + } } } \ No newline at end of file diff --git a/gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java b/gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java new file mode 100755 index 0000000..086b88b --- /dev/null +++ b/gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java @@ -0,0 +1,83 @@ +package ControllerWorker; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + +import org.apache.log4j.Logger; + +public class PoolctrlRequest extends Thread { + private static final Logger logger = Logger.getLogger(PoolctrlRequest.class); + private URL runURL; + private URL reportURL; + private final long updatePeriod; + + public PoolctrlRequest(String runURL, String reportURL, long updatePeriod) { + try { + this.runURL = new URL(runURL); + this.reportURL = new URL(reportURL); + } catch (Exception e) { + logger.error(e.toString()); + } + this.updatePeriod = updatePeriod; + } + + public void run() { + workerLoop(); + } + + public void workerLoop() { + long beginTime; + long timeTaken; + long timeLeft; + while (true) { + try { + beginTime = System.nanoTime(); + update(); + timeTaken = System.nanoTime() - beginTime; + timeLeft = (updatePeriod - timeTaken) / 1000000; + if (timeLeft < 10) + timeLeft = 10; + Thread.sleep(timeLeft); + } catch (Exception e) { + logger.error(e.toString()); + } + } + } + + public void update() { + HttpURLConnection connection = null; + BufferedReader rd = null; + StringBuilder sb = null; + String line = null; + try { + connection = (HttpURLConnection) runURL.openConnection(); + connection.setRequestMethod("GET"); + connection.setDoOutput(true); + connection.connect(); + rd = new BufferedReader(new InputStreamReader(connection + .getInputStream())); + sb = new StringBuilder(); + + while ((line = rd.readLine()) != null) { + sb.append(line + '\n'); + } + logger.info(sb.toString()); + connection = (HttpURLConnection) reportURL.openConnection(); + connection.setRequestMethod("GET"); + connection.setDoOutput(true); + connection.connect(); + rd = new BufferedReader(new InputStreamReader(connection + .getInputStream())); + sb = new StringBuilder(); + + while ((line = rd.readLine()) != null) { + sb.append(line + '\n'); + } + logger.info(sb.toString()); + } catch (Exception e) { + logger.error(e.toString()); + } + } +} \ No newline at end of file diff --git a/gearman/controllerWorker/ControllerWorker/RunEvents.java b/gearman/controllerWorker/ControllerWorker/RunEvents.java deleted file mode 100755 index 18a040b..0000000 --- a/gearman/controllerWorker/ControllerWorker/RunEvents.java +++ /dev/null @@ -1,70 +0,0 @@ -package ControllerWorker; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.log4j.Logger; - -public class RunEvents extends Thread { - private static final Logger logger = Logger.getLogger(RunEvents.class); - private URL url; - private final long updatePeriod; - - public RunEvents(String url, long updatePeriod) { - try { - this.url = new URL(url); - } catch (Exception e) { - logger.error(e.getStackTrace()); - } - this.updatePeriod = updatePeriod; // updates per second - } - - public void run() { - workerLoop(); - } - - public void workerLoop() { - long beginTime; - long timeTaken; - long timeLeft; - while (true) { - try { - beginTime = System.nanoTime(); - update(); - timeTaken = System.nanoTime() - beginTime; - timeLeft = (updatePeriod - timeTaken) / 1000000; - if (timeLeft < 10) - timeLeft = 10; - Thread.sleep(timeLeft); - } catch (Exception e) { - logger.error(e.getStackTrace()); - } - } - } - - public void update() { - HttpURLConnection connection = null; - BufferedReader rd = null; - StringBuilder sb = null; - String line = null; - try { - connection = (HttpURLConnection) url.openConnection(); - connection.setRequestMethod("GET"); - connection.setDoOutput(true); - connection.connect(); - rd = new BufferedReader(new InputStreamReader(connection - .getInputStream())); - sb = new StringBuilder(); - - while ((line = rd.readLine()) != null) { - sb.append(line + '\n'); - } - logger.info(sb.toString()); - } catch (Exception e) { - logger.error(e.getStackTrace()); - } - } -} \ No newline at end of file diff --git a/gearman/controllerWorker/ControllerWorker/Shutdown.java b/gearman/controllerWorker/ControllerWorker/Shutdown.java index ce17940..81a47ed 100755 --- a/gearman/controllerWorker/ControllerWorker/Shutdown.java +++ b/gearman/controllerWorker/ControllerWorker/Shutdown.java @@ -90,7 +90,7 @@ public class Shutdown extends Thread { timeLeft = 10; Thread.sleep(timeLeft); } catch (Exception e) { - logger.error(e.getStackTrace()); + logger.error(e.toString()); } } finished = true; diff --git a/gearman/controllerWorker/ControllerWorker/SomePingWorker.java b/gearman/controllerWorker/ControllerWorker/SomePingWorker.java index 0f123c4..e085b26 100755 --- a/gearman/controllerWorker/ControllerWorker/SomePingWorker.java +++ b/gearman/controllerWorker/ControllerWorker/SomePingWorker.java @@ -77,7 +77,7 @@ public class SomePingWorker extends AbstractGearmanFunction { remove.add(j); } } catch (Exception e) { - logger.error(e.getStackTrace()); + logger.error(e.toString()); } } -- cgit v1.2.3-55-g7522