本文整理汇总了PHP中GearmanClient类的典型用法代码示例。如果您正苦于以下问题:PHP GearmanClient类的具体用法?PHP GearmanClient怎么用?PHP GearmanClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GearmanClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: CreateNewClient
function CreateNewClient()
{
$_client = new GearmanClient();
$_client->addServer("192.168.201.12");
$_client->setCompleteCallback("jobEcho");
return $_client;
}
示例2: createJobServer
/**
*
* @return \Api_Component_JobServer
*/
static function createJobServer()
{
$gearmanHost = new GearmanHost('localhost');
$gearmanClient = new GearmanClient();
$gearmanClient->addServer();
return new Api_Component_JobServer($gearmanHost, $gearmanClient);
}
示例3: actionStart
/**
* Smpp search all
* @param $startPage Start page number
*/
public function actionStart($startPage = 1)
{
$gmanClient = new \GearmanClient();
$gmanClient->addServer($this->module->gman_server);
$httpClient = new \GuzzleHttp\Client(['base_uri' => 'http://www.smpp.go.kr']);
$res = $httpClient->request('POST', '/cop/registcorp/selectRegistCorpListVw.do', ['form_params' => ['pageIndex' => $startPage, 'pageUnit' => '100']]);
$body = $res->getBody();
$html = (string) $body;
$p = '#<a.*btnMove last.*fn_getList\\((?<lastpage>\\d+)\\);#';
if (!preg_match($p, $html, $m)) {
return;
}
$lastPage = $m['lastpage'];
echo "총 페이지수 : {$lastPage}", PHP_EOL;
for ($i = $startPage; $i <= $lastPage; $i++) {
if ($i > $startPage) {
$res = $httpClient->request('POST', '/cop/registcorp/selectRegistCorpListVw.do', ['form_params' => ['pageIndex' => $i, 'pageUnit' => '100']]);
$body = $res->getBody();
$html = (string) $body;
}
$this->parseList($html, function ($data) use($gmanClient, $i) {
echo "page({$i}) >> " . join(',', $data), PHP_EOL;
$gmanClient->doNormal('smpp_corp_get', Json::encode(['bizno' => $data['bizno']]));
});
sleep(1);
}
}
示例4: client
public function client()
{
$config = $this->config->item('base_config');
$host = $config['gearman']['host'];
$port = $config['gearman']['port'];
$client = new GearmanClient();
$client->addServer($host, $port);
$data = array('method' => 'get', 'url' => 'http://master.500mi.com/main/gearman/test', 'params' => array('wd' => '哈哈'));
$job_handle = $client->doBackground("send_request", json_encode($data));
if ($client->returnCode() != GEARMAN_SUCCESS) {
echo "bad return code\n";
exit;
}
$done = false;
do {
sleep(1);
$stat = $client->jobStatus($job_handle);
var_dump($stat);
if (!$stat[0]) {
$done = true;
}
echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
} while (!$done);
echo "done!\n";
}
示例5: start
public static function start()
{
$gmc = new \GearmanClient();
$gmc->addServer("127.0.0.1", 4730);
$data = array();
$task = $gmc->doNormal("hunt_postman", "foo");
}
示例6: getClient
/**
* 获取gearmant客户端
* @return \GearmanClient
*/
private function getClient()
{
if ($this->client !== null) {
return $this->client;
}
$client = new \GearmanClient();
$conStrings = array();
foreach ($this->servers as $ser) {
if (is_string($ser)) {
$conStrings[] = $ser;
} else {
$conStrings[] = $ser['host'] . (isset($ser['port']) ? ':' . $ser['port'] : '');
}
}
$conString = false;
if (count($conStrings) > 0) {
$conString = implode(',', $conStrings);
}
if ($conString) {
$result = $client->addServers($conString);
if ($result) {
$this->echoTraceLog('服务器添加成功! servers: ' . $conString);
} else {
$this->echoErrorLog('服务器添加失败! servers: ' . $conString);
return false;
}
}
$this->client = $client;
return $this->client;
}
示例7: getClient
/**
* 实现单例模式
*
* @param array $config
* @return GearmanClient
*/
public static function getClient($config)
{
$worker = new GearmanClient();
foreach ($config as $serverInfo) {
$worker->addServer($serverInfo['host'], $serverInfo['port']);
}
return $worker;
}
示例8: __construct
public function __construct(\GearmanClient $client = null)
{
if (is_null($client)) {
$client = new \GearmanClient();
$client->addServers("localhost:4730");
}
$this->client = $client;
}
示例9: Run
public function Run()
{
/* create our object */
$gmclient = new \GearmanClient();
/* add the default server */
$gmclient->addServer();
/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");
}
示例10: addJob
public static function addJob($id, $function, $data)
{
$client = new \GearmanClient();
$client->addServer(gearman_server, gearman_port);
$job = new Job();
$job->setId($id)->setExpireTime(time() + 172800)->setReference(array('CLIController', $function, $data));
$job_handle = $client->doBackground(app_name . 'handle', serialize($job));
Log::write(__METHOD__ . ' invoked gearman job (' . $function . ') for id ' . $id . ' ' . app_name . 'handle' . ' ' . $client->returnCode());
}
示例11: queueAssignment
/**
* This function will take 3 arguments and pass it to gearman worker to store in database
*/
function queueAssignment($name, $email, $phone)
{
$detailsArray = array('name' => $name, 'email' => $email, 'phone' => $phone);
$detailsStr = json_encode($detailsArray);
writeFile($detailsArray);
// client code
$client = new GearmanClient();
$client->addServer();
$store = $client->do("saveRecord", $detailsStr);
}
示例12: setup
/**
* do driver instance init
*/
public function setup()
{
$settings = $this->getSettings();
if (empty($settings)) {
throw new BoxRouteInstanceException('init driver instance failed: empty settings');
}
$curInst = new \GearmanClient();
$curInst->addServers($settings['gearmanHosts']);
$this->instance = $curInst;
$this->isAvailable = $this->instance ? true : false;
}
示例13: _setupGearmanClient
/**
* Ustawienie gearman klienta
*/
protected function _setupGearmanClient()
{
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
foreach ($config->gearman->client->server as $serverAddress) {
try {
self::$_client->addServer($serverAddress);
} catch (Exception $exc) {
throw new Exception("Gearman server on {$serverAddress} is not working!");
}
}
}
示例14: getInstance
/**
* This method will instantiate the object, configure it and return it
*
* @return Zend_Cache_Manager
*/
public static function getInstance()
{
$config = App_DI_Container::get('ConfigObject');
$gearmanClient = new GearmanClient();
if (!empty($config->gearman->servers)) {
$gearmanClient->addServers($config->gearman->servers->toArray());
} else {
$gearmanClient->addServer();
}
return $gearmanClient;
}
示例15: enqueue
/**
* enqueue
*
* @param string $value
* @return boolean
*/
public function enqueue($value)
{
$gm = new \GearmanClient();
$gm->addServer($this->host, $this->port);
$gm->queue_name = $this->queue_name;
if ($gm->ping('ping')) {
$job_handle = $gmclient->doBackground($this->queue_name, json_encode($value), md5($value));
return $this->gmclient->returnCode() != GEARMAN_SUCCESS ? false : true;
} else {
return false;
}
}