我试图在VirtualBox环境中的Ubuntu上运行“http://gearman.org/getting_started”上的示例。
首先,我尝试使用0.16
,apt-get install gearman-job-server
下载旧版本apt-get install gearman-tools
,一切正常。服务器在后台运行,我能够创建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中,我能够看到2行,第二行显示已注册的函数名称。)
尝试运行客户端
gearman -f wc < /etc/passwd
结果
gearman: gearman_client_run_tasks : flush(GEARMAN_COULD_NOT_CONNECT) localhost:0 -> libgearman/connection.cc:671"
这可能是here中描述的相同问题 - 未指定端口,但我不知道如何通过命令行工具执行此操作。
有什么想法吗?
答案 0 :(得分:0)
好的,看起来here中的答案是成功的关键。可能,“入门”部分暂时没有更新。实际上,必须明确指定gearmand
和gearman
的端口。
服务器:
sudo gearmand -p 5000
工人:
gearman -p 5000 -w -f wc -- wc -l
客户端:
gearman -p 5000 -f wc < /etc/passwd