我正在使用Solaris 10 OS(x86)。我安装了beanstalkd,并通过使用命令“ beanstalkd -d -l hostip -p 11300”开始正常运行。
我的系统上安装了Python 2.4.4,我安装了YAML和beantalkc python库以将beantalkd与python连接,我的问题是当我尝试编写一些代码时:
导入beantalkc
beanstalk = beanstalkc.Connection(host ='hostip',端口= 11300)
到目前为止没有错误,但是当我尝试对beantalk进行操作时,例如说列出队列。没发生什么事。
beanstalk.tubes()
它只是挂起,没有任何回报。如果我取消操作(在python env上使用ctr + c)或停止服务器,我会立即看到输出:
追溯(最近一次通话):
在文件“”的第1行中?
管中的文件“ /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第134行
返回self._interact_yaml('list-tubes \ r \ n',['OK'])
_interact_yaml中的文件“ /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第83行
大小,= self._interact(命令,expected_ok,expected_err)
_interact中的文件“ /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第57行
状态,结果= self._read_response()
_read_response中的文件“ /usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第66行
响应= self.socket_file.readline()。split()
读取行中的文件“ /usr/lib/python2.4/socket.py”,行332
数据= self._sock.recv(self._rbufsize)
知道发生了什么吗?我是Unix新手,所以我不知道我设置错误导致了什么。
编辑:似乎问题出在BeanStalkd本身之内,有人在Solaris 10上使用过吗?如果是,您使用的是哪个版本?标有v1.3的v1.3无法在Solaris上编译,而最新的git代码存储库进行编译会导致上述问题(或者在Solaris上可能需要进行一些配置?)。
edit2:我已将beantalkd,PyYAML,pythonbeanstalc和libevent的相同组件安装并编译到UBUNTU机器上,并且工作正常。问题似乎与关于solaris的beantalk的编译有关,我尚未生成或阅读任何解决方案。
最佳答案
我可能知道什么地方出了问题:不要在守护程序(-d)模式下启动它。我也经历过同样的事情,并且偶然发现了问题所在。
或者更确切地说,我不知道出了什么问题,但是它可以在不以守护程序模式运行的情况下运行。
./beanstalkd -p 9977和
作为备选。