2009-06-25 36 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)後:

您的客戶端發送他的名單,管「的消息,並等待一個答案。 (直到你殺了它) 您的服務器不接聽或無法答案發送到客戶端。 (或答案是比客戶預期短)

是網絡管理員在你身邊(或網站):-)

相關問題