gpt4 book ai didi

php-5.3 - 成功执行worker后获取数据 gearman

转载 作者:行者123 更新时间:2023-12-02 08:16:07 24 4
gpt4 key购买 nike

我是 php-gearman 的新手,在一些有用的教程的帮助下,我尝试了一些示例。就像上面的基本代码一样。

客户端

<?php
# Create our client object.
$client= new GearmanClient();

# Add default server (localhost).
$client->addServer("localhost", 4730);

echo "Sending job\n";

# Send reverse job
$result = $client->doBackground("reverse", "Hello!");
$stat = $client->jobStatus($result);
$done = false;

$client->setWorkloadCallback('test');

function test($data)
{
echo $data;
}

while(!$done)
{
if(!$stat[0])
{
$done = true;
echo $result;
}
echo "status".json_encode($stat)."/n";
$stat = $client->jobStatus($result);
}
?>

服务器端

<?php
# Create our worker object.
$worker= new GearmanWorker();

# Add default server (localhost).
$worker->addServer("localhost", 4730);

# Register function "reverse" with the server.
$worker->addFunction("reverse", "reverse_fn");

while (1)
{
print "Waiting for job...\n";

$ret= $worker->work();
if ($worker->returnCode() != GEARMAN_SUCCESS)
break;
}

function reverse_fn($job)
{
$workload= $job->workload();
echo "Received job: " . $job->handle() . "\n";
echo "Workload: $workload\n";
$result= strrev($workload);
echo "Result: $result\n";
return $result;
}
?>

此代码获取我的工作状态。

我的问题是,在使用 GermanClient::doBackground 时如何在成功执行工作程序后获取返回的数据?

最佳答案

虽然这个线程很古老,但有些人可以使用某种以作业句柄作为列的数据库。然后您可以查询作业句柄。

关于php-5.3 - 成功执行worker后获取数据 gearman,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com