summaryrefslogtreecommitdiffstats
path: root/gearman
diff options
context:
space:
mode:
authorBjörn Geiger2011-09-12 09:12:45 +0200
committerBjörn Geiger2011-09-12 09:12:45 +0200
commit4e05d049756cf6170161d1838b43f0911d4dc757 (patch)
treec575c6bf3b28481833073d475afab3c6c3455625 /gearman
parentRun Event nun im Java Worker (diff)
downloadpoolctrl-4e05d049756cf6170161d1838b43f0911d4dc757.tar.gz
poolctrl-4e05d049756cf6170161d1838b43f0911d4dc757.tar.xz
poolctrl-4e05d049756cf6170161d1838b43f0911d4dc757.zip
was vergessen
Diffstat (limited to 'gearman')
-rw-r--r--gearman/controllerWorker/ControllerWorker/RunEvents.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/gearman/controllerWorker/ControllerWorker/RunEvents.java b/gearman/controllerWorker/ControllerWorker/RunEvents.java
new file mode 100644
index 0000000..18a040b
--- /dev/null
+++ b/gearman/controllerWorker/ControllerWorker/RunEvents.java
@@ -0,0 +1,70 @@
+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