package ControllerWorker; import org.gearman.common.GearmanJobServerConnection; import org.gearman.common.GearmanNIOJobServerConnection; import org.gearman.worker.GearmanWorker; import org.gearman.worker.GearmanWorkerImpl; public class Worker extends Thread { private GearmanWorker worker; public Worker() { final GearmanJobServerConnection connection = new GearmanNIOJobServerConnection( "127.0.0.1", 4730); worker = new GearmanWorkerImpl(); worker.registerFunction(SomePingWorker.class); worker.registerFunction(BootWorker.class); worker.registerFunction(ShutdownWorker.class); worker.registerFunction(StatusWorker.class); worker.addServer(connection); } public void run() { work(); } private void work() { worker.work(); } public boolean isRunning() { if (worker != null) { return worker.isRunning(); } else { return false; } } }