2013-04-29 78 views
1

我想在VirtualBox环境中的Ubuntu上运行“http://gearman.org/getting_started”上的示例。无法运行带齿轮的“gearman”命令行工具1.1.6

起初我尝试使用apt-get install gearman-job-server,apt-get install gearman-tools下载旧版本0.16,并且一切正常。服务器在后台运行,我能够创建2个工作人员,并验证我可以通过创建客户端来调用它们。

我决定下载并编译最新版本1.1.6。现在,我试图用新版本来做同样的事情,而且我有错误。

我运行服务器管理员:

sudo gearmand 

声明

gearadmin --getpid 

似乎工作 - 它返回我的服务器的进程ID。因此,服务器正在运行,并且this answer不相关。


现在,我增加了工人:

gearman -w -f wc -- wc -l 

它似乎运行。

尽管如此,

gearadmin --workers 

结果的东西,可能代表和空单:

33 127.0.0.1 - : 
. 

(在0.16版本中,我能看到两行,第二个显示注册的函数名)


试图运行客户端

gearman -f wc < /etc/passwd 

结果

gearman: gearman_client_run_tasks : flush(GEARMAN_COULD_NOT_CONNECT) localhost:0 -> libgearman/connection.cc:671" 

这可能是here描述的非常相同的问题 - 没有指定端口,但我不知道如何通过命令行工具来完成。

有什么想法?

回答

0

好的,它看起来像here的答案是成功的关键。可能“入门”部分暂时未更新。的确,必须明确指定端口号为gearmandgearman

服务器:

sudo gearmand -p 5000 

工人:

gearman -p 5000 -w -f wc -- wc -l 

客户:

gearman -p 5000 -f wc < /etc/passwd 
+0

从源代码编译的时候我也碰到了这一点。当我从回购站安装时,指定端口的需求消失了。我想知道是否有配置错误,在构建之前设置默认端口不正确。 – flickerfly 2017-08-31 22:52:35