PHP Gearman Worker / Client 不工作
PHP Gearman Worker / Client does not work
我正在尝试使用 php:
执行 gearman 作业服务器的 this minimal example
worker.php:
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("reverse", "my_reverse_function");
echo "Starting Worker...\n";
while ($worker->work());
function my_reverse_function($job)
{
return strrev($job->workload());
}
?>
client.php:
<?php
ini_set('display_errors', 1);
error_reporting(~0);
echo "Starting Client...\n";
$client= new GearmanClient();
$client->addServer();
print $client->doNormal("reverse", "Hello World!");
?>
我在控制台中使用 php worker.php
尝试它,它给出了输出 "Starting Worker..."
然后我尝试php client.php
(在另一个控制台-window),它给出输出Starting Client...(不再)。但是我期待输出“!dlroW olleH”或者至少是一个合适的错误信息....
下面的代码给出了输出:1.0.6,所以我假设 gearman 软件安装正确。我在 debian 8.1 顺便说一句。
<?php
echo gearman_version();
?>
怎么了?为什么我的 Gearman Worker 和/或 Client 不工作?
添加 IP(而不是默认值 "localhost"),解决了问题。
$worker->addServer("127.0.0.1");
我正在尝试使用 php:
执行 gearman 作业服务器的 this minimal exampleworker.php:
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("reverse", "my_reverse_function");
echo "Starting Worker...\n";
while ($worker->work());
function my_reverse_function($job)
{
return strrev($job->workload());
}
?>
client.php:
<?php
ini_set('display_errors', 1);
error_reporting(~0);
echo "Starting Client...\n";
$client= new GearmanClient();
$client->addServer();
print $client->doNormal("reverse", "Hello World!");
?>
我在控制台中使用 php worker.php
尝试它,它给出了输出 "Starting Worker..."
然后我尝试php client.php
(在另一个控制台-window),它给出输出Starting Client...(不再)。但是我期待输出“!dlroW olleH”或者至少是一个合适的错误信息....
下面的代码给出了输出:1.0.6,所以我假设 gearman 软件安装正确。我在 debian 8.1 顺便说一句。
<?php
echo gearman_version();
?>
怎么了?为什么我的 Gearman Worker 和/或 Client 不工作?
添加 IP(而不是默认值 "localhost"),解决了问题。
$worker->addServer("127.0.0.1");