summaryrefslogblamecommitdiffstats
path: root/application/controllers/GearmanController.php
blob: b6496842043e2be6d1d9a5b67a73b98b1b6916a9 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                           
                                                             
         

                                     
         
 
         
 
                                        
         














                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                         
                 


                                                
                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                                        

                                                                                    





                                                             
         
 
<?php

class GearmanController extends Zend_Controller_Action
{
	protected $gearmanClient;

	public function init()
	{
		$this->gearmanClient = new GearmanClient();
		$this->gearmanClient->addServer('127.0.0.1');
	}

	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, 'somePing');
		if (! $this->gearmanClient->runTasks())
		{
			echo "ERROR " . $gmc->error() . "\n";
			exit;
		}
		$resultsExp = explode('; ', $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;
			}
		}
		$this->view->results = $results;
	}

	public function bootAction() {
		$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';
		$id = 1;
		$result = $this->gearmanClient->do("boot", $ipString, 'boot' . $id);
		if (! $this->gearmanClient->runTasks())
		{
			echo "ERROR " . $gmc->error() . "\n";
			exit;
		}
		$this->view->result = $result;
	}
}