summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapplication/configs/application.ini.dist4
-rwxr-xr-xapplication/controllers/EventController.php2
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/Boot.java2
-rw-r--r--gearman/controllerWorker/ControllerWorker/ControllerWorker.jarbin0 -> 924682 bytes
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/ControllerWorkerMain.java32
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/PoolctrlRequest.java (renamed from gearman/controllerWorker/ControllerWorker/RunEvents.java)35
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/Shutdown.java2
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/SomePingWorker.java2
-rwxr-xr-xinstall.sh5
9 files changed, 63 insertions, 21 deletions
diff --git a/application/configs/application.ini.dist b/application/configs/application.ini.dist
index 3acfdbc..27b5ad5 100755
--- a/application/configs/application.ini.dist
+++ b/application/configs/application.ini.dist
@@ -32,6 +32,10 @@ pbs2.getperson = /resource/getperson/apikey/
pbs2.getmembership = /resource/getmembership/apikey/
pbs2.getgroup = /resource/getgroup/apikey/
pbs2.getrole = /resource/getrole/apikey/
+poolctrl.host =
+poolctrl.runevent = /event/run/apikey/apikey1
+poolctrl.reportevent = /event/report/apikey/apikey1
+
gearman.server.host =
gearman.server.port =
gearman.worker.waitTime = 120
diff --git a/application/controllers/EventController.php b/application/controllers/EventController.php
index 7b03341..0263d91 100755
--- a/application/controllers/EventController.php
+++ b/application/controllers/EventController.php
@@ -35,7 +35,6 @@ class EventController extends Zend_Controller_Action
$apikey = $this->_request->getParam('apikey');
}
if($apikey != ""){
- $this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
$bootstrap = $this->getInvokeArg('bootstrap');
$this->config = $bootstrap->getOptions();
$this->pbs2host = $this->config['pbs2']['host'];
@@ -47,6 +46,7 @@ class EventController extends Zend_Controller_Action
$this->gearmanClient->addServer($this->gearmanServerHost);
$this->eventMapper = new Application_Model_EventMapper();
$this->eventcategoryMapper = new Application_Model_EventcategoryMapper();
+ $this->acl = new Poolctrl_Acl($this->pbs2host, $this->config['pbs2']['checkright'] . $apikey, 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
} else {
header('HTTP/1.0 401 No apikey is set');
die();
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
--- /dev/null
+++ b/gearman/controllerWorker/ControllerWorker/ControllerWorker.jar
Binary files 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/RunEvents.java b/gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java
index 18a040b..086b88b 100755
--- a/gearman/controllerWorker/ControllerWorker/RunEvents.java
+++ b/gearman/controllerWorker/ControllerWorker/PoolctrlRequest.java
@@ -3,23 +3,24 @@ 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;
+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 RunEvents(String url, long updatePeriod) {
+ public PoolctrlRequest(String runURL, String reportURL, long updatePeriod) {
try {
- this.url = new URL(url);
+ this.runURL = new URL(runURL);
+ this.reportURL = new URL(reportURL);
} catch (Exception e) {
- logger.error(e.getStackTrace());
+ logger.error(e.toString());
}
- this.updatePeriod = updatePeriod; // updates per second
+ this.updatePeriod = updatePeriod;
}
public void run() {
@@ -40,7 +41,7 @@ public class RunEvents extends Thread {
timeLeft = 10;
Thread.sleep(timeLeft);
} catch (Exception e) {
- logger.error(e.getStackTrace());
+ logger.error(e.toString());
}
}
}
@@ -51,7 +52,19 @@ public class RunEvents extends Thread {
StringBuilder sb = null;
String line = null;
try {
- connection = (HttpURLConnection) url.openConnection();
+ 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();
@@ -64,7 +77,7 @@ public class RunEvents extends Thread {
}
logger.info(sb.toString());
} catch (Exception e) {
- logger.error(e.getStackTrace());
+ logger.error(e.toString());
}
}
} \ 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());
}
}
diff --git a/install.sh b/install.sh
index 936321d..99d4a1a 100755
--- a/install.sh
+++ b/install.sh
@@ -15,6 +15,7 @@ echo "Copying to /var/www/"
sourceDir=$(readlink -f $(dirname $(readlink -f $0)))
echo -n "enter vhost name: "
read vhost_name
+sed -e "35s/\$/$vhost_name/" -i $targetDir/application/configs/application.ini
targetDir="/var/www/$vhost_name"
mkdir -p $targetDir
cp -R $sourceDir/* $targetDir
@@ -71,12 +72,12 @@ sed -e "21s/\$/$pbs2_host/" -i $targetDir/application/configs/application.ini
echo -n "Please enter host of gearman server [localhost]: "
read gearman_server_host
[ "x" = "x$gearman_server_host" ] && gearman_server_host="localhost"
-sed -e "35s/\$/$gearman_server_host/" -i $targetDir/application/configs/application.ini
+sed -e "38s/\$/$gearman_server_host/" -i $targetDir/application/configs/application.ini
echo -n "Please enter port of gearman server [4730]: "
read gearman_server_port
[ "x" = "x$gearman_server_port" ] && gearman_server_port="4730"
-sed -e "36s/\$/$gearman_server_port/" -i $targetDir/application/configs/application.ini
+sed -e "39s/\$/$gearman_server_port/" -i $targetDir/application/configs/application.ini
echo "Create database and tables"
cat $targetDir/setup/poolctrl.sql | sed -e "s,##poolctrl##,$db_name," > /tmp/poolctrl.sql