我正在使用 Solaris 10 操作系统(x86)。我安装了 beanstalkd,它通过使用命令“beanstalkd -d -l hostip -p 11300”开始正常。
我的系统上有 Python 2.4.4 我安装了 YAML 和 beanstalkc python 库来连接 beanstalkd 和 python 我的问题是当我尝试编写一些代码时:
导入 beanstalkc beanstalk = beanstalkc.Connection(host='hostip', port=11300)
到目前为止没有错误,但是当我尝试在 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']) 文件“/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行,在_interact状态,结果=自我._read_response() 文件“/usr/lib/python2.4/site-packages/beanstalkc-0.1.1-py2.4.egg/beanstalkc.py”,第 66 行,在 _read_response response = self.socket_file.readline() .split() 文件“/usr/lib/python2.4/socket.py”,第 332 行,在 readline data = self.
知道怎么回事吗?我是一个 Unix 新手,所以我不知道我做错了什么设置导致这个。
编辑:似乎问题出在 BeanStalkd 本身,有人在 Solaris 10 上使用过这个吗?如果是这样,您使用的是哪个版本?标记为 one 的 v1.3 在 Solaris 上无法编译,而来自 git 代码库的最新版本编译它会导致上述问题(或者在 Solaris 上可能需要进行一些配置?)。
edit2:我使用 beanstalkd、PyYAML、pythonbeanstalc 和 libevent 将相同的组件安装并编译到 UBUNTU 机器上,它工作正常。问题似乎是关于在 solaris 上编译 beanstalkd,我还没有制作或阅读任何解决方案。