【发布时间】:2010-11-05 21:07:00
【问题描述】:
我使用的是 Solaris 10 OS(x86)。我安装了 beanstalkd,它通过使用命令“beanstalkd -d -l hostip -p 11300”开始正常。
我的系统上有 Python 2.4.4 我安装了 YAML 和 beanstalkc python 库来连接 beanstalkd 和 python 我的问题是当我尝试编写一些代码时:
进口豆茎c beanstalk = beanstalkc.Connection(host='hostip', port=11300)
到目前为止没有错误,但是当我尝试在 beanstalk 上做一些事情时,比如说列出队列。什么都没有发生。
beanstalk.tubes()
它只是挂起,没有任何回报。如果我取消操作(在 python env 上使用 ctr+c)或停止服务器,我会立即看到输出:
Traceback(最近一次调用最后一次): 文件“”,第 1 行,在? 文件“/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']) _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 行,在 readline 数据 = self._sock.recv(self._rbufsize)
知道发生了什么吗?我是一个 Unix 新手,所以我不知道我做错了什么设置导致这个。
edit:似乎问题出在 BeanStalkd 本身,有人在 Solaris 10 上使用过这个吗?如果是这样,您使用的是哪个版本?标记为 one 的 v1.3 在 Solaris 上无法编译,而来自 git 代码库的最新版本编译它会导致上述问题(或者在 Solaris 上可能需要进行一些配置?)。
edit2:我使用 beanstalkd、PyYAML、pythonbeanstalc 和 libevent 安装并编译了相同的组件到 UBUNTU 机器,它工作正常。问题似乎是关于在 solaris 上编译 beanstalkd,我还没有产生或阅读任何解决方案。
【问题讨论】:
-
我只是尝试将 beanstalkd 与 java 客户端连接,同样的事情发生了,测试脚本只是等待(直到取消或 beanstalkd 停止)。任何想法 Beanstalkd 可能有什么问题?
标签: python solaris yaml beanstalkd