2009-06-25 39 views
2

我正在使用Solaris 10 OS(x86)。我安装了beanstalkd,并使用命令“beanstalkd -d -l hostip -p 11300”开始。Solaris上的BeanStalkd在从Python库中调用时不返回任何内容

我了Python 2.4.4我的系统上,我安装YAML和beanstalkc Python库连接与Python beanstalkd我的问题是,当我尝试写一些代码:

进口beanstalkc 魔豆= beanstalkc.Connection(主机='hostip',port = 11300)

到目前为止没有错误,但是当我尝试在beanstalk上做某些事情时,比如说列出队列。什么都没发生。

beanstalk.tubes()

它只是挂起,没有任何回报。如果我取消操作(在python env上使用ctr + c)或停止服务器,我立即看到一个输出:

回溯(最近调用最后一次): File“”,line 1,in? 管中的文件“/usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第134行 return self._interact_yaml('list-tubes \ r \ n',['OK']) 文件“/usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,行83,_interact_yaml 大小,= self._interact(command,expected_ok,expected_err) 文件“/usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第57行,in _interact status,results = self._read_response() 文件“/usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第66行,在_read_response中 响应= self.socket_file.readline()。split() 文件“/usr/lib/python2.4/socket.py”,第332行,在readline中 data = self._sock.recv(self._rbufsize)

任何想法是怎么回事?我是一个Unix新手,所以我不知道我设置错误导致这一点。

编辑:好像问题出在BeanStalkd本身内,任何人都在Solaris 10上使用过这个?如果是的话你使用哪个版本?标签为v1.3的版本不会在Solaris上进行编译,而从git代码库进行编译的最新版本会导致上述问题(或者在Solaris上可能需要执行某些配置?)。

edit2:我安装并编译了与beanstalkd,PyYAML,pythonbeanstalc和libevent相同的组件到UBUNTU机器,它工作正常。问题似乎是关于在solaris上编译beanstalkd的问题,我还没有制作或阅读任何解决方案。

+0

我只是试图连接bean与java客户端相同的事情发生,测试脚本只是等待(直到取消或beanstalkd停止)永远。任何想法可能会在Beanstalkd上出错? – Numenor 2009-06-26 12:41:31

回答

1

我可能知道什么是错的:不要在后台启动( -d)模式。我也经历过同样的情况,偶然发现有什么不对。或者更确切地说,我不知道什么是错误的,但它在没有在守护进程模式下运行的情况下工作。

./beanstalkd -p 9977 &

作为替代。

1

似乎python客户端侦听服务器, 但服务器无话可说。

客户端有东西需要阅读吗?

有消费者和生产者吗?

Look at this

+0

是的,有一些东西要读取的客户端,服务器应该发送管(beanstalk.tubes()调用请求),这是“默认”管,并与我尝试在beanstalk上执行的每个其他命令相同(beanstalkc .Connection对象),没有命令似乎回应。 – Numenor 2009-06-26 06:48:09

+0

我看了你发送的链接,但我没有使用pybeanstalk,我正在使用beanstalkc – Numenor 2009-06-26 06:51:57

1

在代码中寻找(beanstalkc)后:

您的客户端发送他的名单,管“的消息,并等待一个答案。 (直到你杀了它) 您的服务器不接听或无法答案发送到客户端。 (或答案是比客户预期短)

是网络管理员在你身边(或网站):-)

相关问题