当前位置: 首页>>代码示例>>PHP>>正文


PHP GearmanClient::addTaskBackground方法代码示例

本文整理汇总了PHP中GearmanClient::addTaskBackground方法的典型用法代码示例。如果您正苦于以下问题:PHP GearmanClient::addTaskBackground方法的具体用法?PHP GearmanClient::addTaskBackground怎么用?PHP GearmanClient::addTaskBackground使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GearmanClient的用法示例。


在下文中一共展示了GearmanClient::addTaskBackground方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: reverse_status

<?php

# The client script
# create our gearman client
$gmc = new GearmanClient();
# add the default job server
$gmc->addServer();
# set a couple of callbacks so we can track progress
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");
# add a task for the "reverse" function
$task = $gmc->addTask("reverse", "Hello World!", null, "1");
# add another task, but this one to run in the background
$task = $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");
if (!$gmc->runTasks()) {
    echo "ERROR " . $gmc->error() . "\n";
    exit;
}
echo "DONE\n";
function reverse_status($task)
{
    echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() . "/" . $task->taskDenominator() . "\n";
}
function reverse_complete($task)
{
    echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}
?>
 
开发者ID:huberyhe,项目名称:scripts,代码行数:28,代码来源:GearmanClient.php

示例2: addTaskBackground

 public function addTaskBackground($name, $params = '', &$context = null, $unique = null)
 {
     $method = self::GEARMAN_METHOD_ADDTASKBACKGROUND;
     $params = serialize($params);
     $contextReference = array('context' => &$context);
     $unique = $this->generateUniqueKey($name, $params, $unique, $method);
     $this->gearmanClient->addTaskBackground($name, $params, $contextReference, $unique);
     return $unique;
 }
开发者ID:cimus,项目名称:gearman-bundle,代码行数:9,代码来源:GearmanClient.php

示例3: addTaskBackground

 public function addTaskBackground($function_name, $workload, &$context = null, $unique = null)
 {
     $function_name = $this->_processFunctionName($function_name);
     return parent::addTaskBackground($function_name, $workload, $context, $unique);
 }
开发者ID:xiaoguizhidao,项目名称:koala-framework,代码行数:5,代码来源:Client.php

示例4: completeCallBack

<?php

$client = new GearmanClient();
$client->addServer('127.0.0.1', 4730);
//本机可以直接addServer(),默认服务器端使用4730端口
$client->setCompleteCallback('completeCallBack');
//先绑定才有效
$result1 = $client->do('say', 'do');
//do是同步进行,进行处理并返回处理结果。
$result2 = $client->doBackground('say', 'doBackground');
//异步进行,只返回处理句柄。
$result3 = $client->addTask('say', 'addTask');
//添加任务到队列,同步进行?通过添加task可以设置回调函数。
$result4 = $client->addTaskBackground('say', 'addTaskBackground');
//添加后台任务到队列,异步进行?
$client->runTasks();
//运行队列中的任务,只是do系列不需要runTask()。
echo 'result1:';
var_dump($result1);
echo '<br/>';
echo 'result2:';
var_dump($result2);
echo '<br/>';
echo 'result3:';
var_dump($result3);
echo '<br/>';
echo 'result4:';
var_dump($result4);
echo '<br/>';
//绑定回调函数,只对addTask有效
function completeCallBack($task)
开发者ID:gamelife1314,项目名称:gearman,代码行数:31,代码来源:client.php

示例5: completeCallBack

<?php

$client = new GearmanClient();
$client->addServer();
$client->setCompleteCallback('completeCallBack');
for ($i = 1; $i <= 1; $i++) {
    $client->addTaskBackground('pm', 'pm instances' . $i);
}
for ($i = 1; $i <= 1; $i++) {
    $client->addTaskBackground('sm', 'sm instances' . $i);
}
$t1 = microtime(true);
$client->runTasks();
//运行队列中的任务,只是do系列不需要runTask()。
echo '耗时' . round(microtime(true) - $t1, 3) . '秒' . PHP_EOL;
//绑定回调函数,只对addTask有效
function completeCallBack($task)
{
    echo 'result:' . print_r($task->data(), 1) . PHP_EOL;
}
开发者ID:nihaoqkl,项目名称:TestDemo,代码行数:20,代码来源:client_push.php

示例6: GearmanClient

$client = new GearmanClient();
$client->addServer(GEARMAN_SERVER_IP);
if (($socket = socket_create(AF_INET, SOCK_STREAM, 0)) < 0) {
    echo "failed to create socket: " . socket_strerror($socket) . "\n";
    exit($socket);
}
if (($ret = socket_bind($socket, GEARMAN_SERVER_IP, GEARMAN_SERVER_PORT)) < 0) {
    echo "failed to bind socket: " . socket_strerror($ret) . "\n";
    exit(abs($ret));
}
if (($ret = socket_listen($socket, 0)) < 0) {
    echo "failed to listen to socket: " . socket_strerror($ret) . "\n";
    exit(abs($ret));
}
socket_set_nonblock($socket);
$task = $client->addTaskBackground('atoum', 'atoum');
$client->runTasks();
echo "waiting for clients to connect\n";
while (true) {
    $connection = @socket_accept($socket);
    if ($connection === false) {
        usleep(100);
    } elseif ($connection > 0) {
        $pid = pcntl_fork();
        if ($pid === -1) {
            echo "fork failure!\n";
            break;
        } elseif ($pid === 0) {
            socket_close($socket);
            $buff = '';
            socket_recv($connection, $buff, 65536, MSG_EOF);
开发者ID:jubianchi,项目名称:PHPSandbox,代码行数:31,代码来源:client.php


注:本文中的GearmanClient::addTaskBackground方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。