summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Wagner2011-07-18 17:17:39 +0200
committerSebastian Wagner2011-07-18 17:17:39 +0200
commit6fead9b9ff1d8caa2dee186ee04e9192272057b1 (patch)
tree1e2ee6b63b4fbd4255d56f224f167af237609d5a
parentsomePingWorker in Java (diff)
downloadpoolctrl-6fead9b9ff1d8caa2dee186ee04e9192272057b1.tar.gz
poolctrl-6fead9b9ff1d8caa2dee186ee04e9192272057b1.tar.xz
poolctrl-6fead9b9ff1d8caa2dee186ee04e9192272057b1.zip
some changes
-rw-r--r--application/controllers/GearmanController.php41
-rw-r--r--gearman/java/bin/ping/somePingWorker$SomePing.classbin3129 -> 3128 bytes
-rw-r--r--gearman/java/bin/ping/somePingWorker.classbin1006 -> 1004 bytes
-rwxr-xr-xgearman/java/src/ping/afslkdfj.java79
-rwxr-xr-xgearman/java/src/ping/somePingWorker.java18
5 files changed, 39 insertions, 99 deletions
diff --git a/application/controllers/GearmanController.php b/application/controllers/GearmanController.php
index b871207..8538432 100644
--- a/application/controllers/GearmanController.php
+++ b/application/controllers/GearmanController.php
@@ -7,27 +7,38 @@ class GearmanController extends Zend_Controller_Action
public function init()
{
$this->gearmanClient = new GearmanClient();
- $this->gearmanClient->addServer();
+ $this->gearmanClient->addServer('127.0.0.1');
}
-
- public function indexAction()
+
+ public function indexAction()
{
-
+
}
public function somepingAction()
{
- $ipString = '132.230.4.1; 132.230.4.2; 132.230.4.3; 132.230.4.4; 132.230.4.5; 132.230.4.6; 132.230.4.7; 132.230.4.8; 132.230.4.9; 132.230.4.10; 132.230.4.11; 132.230.4.12; 132.230.4.13; 132.230.4.14; 132.230.4.15; 132.230.4.16; 132.230.4.17; 132.230.4.18; 132.230.4.19; 132.230.4.20; 132.230.4.21; 132.230.4.22; 132.230.4.23; 132.230.4.24; 132.230.4.25; 132.230.4.26; 132.230.4.27; 132.230.4.28; 132.230.4.29; 132.230.4.30';
-
- $result = $this->gearmanClient->do("somePing", $ipString);
- $resultsExp = explode('; ', $result);
- foreach($resultsExp as $result) {
- $resultDecode = json_decode($result);
- $resultDecode->rawoutput = sprintf('%s', $resultDecode->rawoutput);
- $resultDecode->alive = sprintf('%s', $resultDecode->alive);
- $resultDecode->rc = sprintf('%s', $resultDecode->rc);
- $results[] = $resultDecode;
+ $gearmanNamespace = Zend_Session::namespaceGet('gearman');
+ if(!isset($gearmanNamespace['somePingJobHandle'])) {
+ $ipString = '132.230.4.1; 132.230.4.2; 132.230.4.3; 132.230.4.4; 132.230.4.5; 132.230.4.6; 132.230.4.7; 132.230.4.8; 132.230.4.9; 132.230.4.10; 132.230.4.11; 132.230.4.12; 132.230.4.13; 132.230.4.14; 132.230.4.15; 132.230.4.16; 132.230.4.17; 132.230.4.18; 132.230.4.19; 132.230.4.20; 132.230.4.21; 132.230.4.22; 132.230.4.23; 132.230.4.24; 132.230.4.25; 132.230.4.26; 132.230.4.27; 132.230.4.28; 132.230.4.29; 132.230.4.30';
+ $jobHandle = $this->gearmanClient->doBackground("somePing", $ipString);
+ $gearmanSession = new Zend_Session_Namespace('gearman');
+ $gearmanSession->somePingJobHandle = $jobHandle;
+ } else {
+ $jobHandle = $gearmanNamespace['somePingJobHandle'];
+ $result = $this->gearmanClient->jobStatus($jobHandle);
+ $resultsExp = explode('; ', $result);
+ print_r($result);
+ if(is_array($resultsExp)) {
+ foreach($resultsExp as $result) {
+ $resultDecode = json_decode($result);
+ $resultDecode->rawoutput = sprintf('%s', $resultDecode->rawoutput);
+ $resultDecode->alive = sprintf('%s', $resultDecode->alive);
+ $resultDecode->rc = sprintf('%s', $resultDecode->rc);
+ $results[] = $resultDecode;
+ }
+ Zend_Session::namespaceUnset('gearman');
+ $this->view->results = $results;
+ }
}
- $this->view->results = $results;
}
} \ No newline at end of file
diff --git a/gearman/java/bin/ping/somePingWorker$SomePing.class b/gearman/java/bin/ping/somePingWorker$SomePing.class
index 15ab09e..2d3cde1 100644
--- a/gearman/java/bin/ping/somePingWorker$SomePing.class
+++ b/gearman/java/bin/ping/somePingWorker$SomePing.class
Binary files differ
diff --git a/gearman/java/bin/ping/somePingWorker.class b/gearman/java/bin/ping/somePingWorker.class
index 640c486..9381ffe 100644
--- a/gearman/java/bin/ping/somePingWorker.class
+++ b/gearman/java/bin/ping/somePingWorker.class
Binary files differ
diff --git a/gearman/java/src/ping/afslkdfj.java b/gearman/java/src/ping/afslkdfj.java
deleted file mode 100755
index 08fab85..0000000
--- a/gearman/java/src/ping/afslkdfj.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package ping;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-
-import static org.gearman.GearmanJobResult.workSuccessful;
-
-import org.gearman.Gearman;
-import org.gearman.GearmanClient;
-import org.gearman.GearmanFunction;
-import org.gearman.GearmanJob;
-import org.gearman.GearmanJobResult;
-import org.gearman.GearmanWorker;
-import org.gearman.GearmanClient.GearmanSubmitHandler;
-import org.gearman.GearmanClient.SubmitCallbackResult;
-import org.gearman.core.GearmanConstants;
-
-public class somePingWorker implements GearmanFunction {
- public static void main(String[] args) throws IOException {
- final Gearman gearman = new Gearman();
- final GearmanWorker worker = gearman.createGearmanWorker();
- worker.addServer(new InetSocketAddress("132.230.4.3",
- GearmanConstants.DEFAULT_PORT));
- worker.addFunction("somePing", new somePingWorker());
- }
-
- @Override
- public GearmanJobResult work(GearmanJob job) {
- final GearmanSubmitHandler callback = new GearmanSubmitHandler() {
- @Override
- public void onComplete(GearmanJob newJob,
- SubmitCallbackResult result) {
- if (result.isSuccessful())
- return;
- System.err.println("job submission failed: " + result.name());
- }
- };
- //String ips = new String(job.getJobData());
- final GearmanJob pingJob = new GearmanJob("ping", "Hello World"
- .getBytes()) {
- @Override
- public void callbackStatus(long numerator, long denominator) {
- assert false;
- }
-
- @Override
- public void callbackData(byte[] data) {
- assert false;
- }
-
- @Override
- public void callbackWarning(byte[] warning) {
- assert false;
- }
-
- @Override
- protected void onComplete(GearmanJobResult result) {
- if (result.isSuccessful()) {
- System.out.println(new String(result.getData(),
- GearmanConstants.UTF_8));
- } else {
- System.err.println("Job execution failed: "
- + result.getJobCallbackResult().name());
- }
- }
- };
- try {
- Gearman gearman = new Gearman();
- GearmanClient client = gearman.createGearmanClient();
- client.addServer(new InetSocketAddress("132.230.4.3",
- GearmanConstants.DEFAULT_PORT));
- System.out.println("Ping: " + new String(job.getJobData()));
- client.submitJob(pingJob, callback);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return workSuccessful(job.getJobData());
- }
-}
diff --git a/gearman/java/src/ping/somePingWorker.java b/gearman/java/src/ping/somePingWorker.java
index 9805c09..8b9375d 100755
--- a/gearman/java/src/ping/somePingWorker.java
+++ b/gearman/java/src/ping/somePingWorker.java
@@ -2,7 +2,12 @@ package ping;
import java.util.StringTokenizer;
-import org.gearman.client.*;
+import org.gearman.client.GearmanClient;
+import org.gearman.client.GearmanClientImpl;
+import org.gearman.client.GearmanJob;
+import org.gearman.client.GearmanJobImpl;
+import org.gearman.client.GearmanJobResult;
+import org.gearman.client.GearmanJobResultImpl;
import org.gearman.common.GearmanJobServerConnection;
import org.gearman.common.GearmanNIOJobServerConnection;
import org.gearman.util.ByteUtils;
@@ -14,11 +19,10 @@ public class somePingWorker {
public static void main(String[] args) {
final GearmanJobServerConnection connection = new GearmanNIOJobServerConnection(
- "132.230.4.3", 4730);
+ "127.0.0.1", 4730);
GearmanWorker worker = new GearmanWorkerImpl();
worker.addServer(connection);
worker.registerFunction(SomePing.class);
-
worker.work();
}
@@ -32,16 +36,20 @@ public class somePingWorker {
@Override
public GearmanJobResult executeFunction() {
final GearmanJobServerConnection connection = new GearmanNIOJobServerConnection(
- "132.230.4.3", 4730);
+ "127.0.0.1", 4730);
GearmanClient client = new GearmanClientImpl();
client.addJobServer(connection);
String data = ByteUtils.fromUTF8Bytes((byte[]) this.data);
StringTokenizer st = new StringTokenizer(data, ";");
String res = "";
int count = 0;
+ // String[] command = new String[]{"less", "/var/www/poolctrl/gearman/pingworker.py"};
+
while (st.hasMoreTokens()) {
+
String ip = st.nextToken();
- System.out.println("Ping" + ip);
+
+ System.out.println("Ping " + ip);
GearmanJob job = GearmanJobImpl.createJob("ping", ip.getBytes(), "pingJob");
client.submit(job);
try {