douweibiao8471 2015-08-18 01:19
浏览 39

Gearman任务似乎没有开始

I'm trying to queue tasks on Gearman by using PHP 5.5.

I've tried this code:

<?php
$gmclient= new GearmanClient();

$gmclient->addServer('localhost');

echo "Sending job
";

$gmclient->setCompleteCallback('gm_complete');
$gmclient->setDataCallback('gm_data');
$gmclient->setStatusCallback('gm_status');
$gmclient->runTasks();

function gm_data(GearmanTask $task) {
  echo "Data: {$task->data()}".PHP_EOL;
}

function gm_complete(GearmanTask $task) {
  echo "Success: {$task->data()}".PHP_EOL;
}

function gm_status(GearmanTask $task) {
  echo "Status: {$task->taskNumerator()} / {$task->taskDenominator()}".PHP_EOL;
}
?>

And also this simpler one:

<?php
$client= new GearmanClient();
$client->addServer();
print $client->do("reverse", "Hello World!");
?>

They both seem to hang in a endless loop. I'm using php5-gearman on Ubuntu and I'm launching gearman with the gearmand command in terminal. I've tried both gearman-server in the repos and the last version (1.1.12). gearadmin --status reports it has received the tasks though:

# gearadmin --status
reverse 1   0   0
.

... still the application doesn't return any output and doesn't even exit. It just hangs as if it was waiting for some input.

Any ideas?

Thanks

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100