2009-05-24 134 views
2

有誰見過這樣的錯誤很多:是使用線程和紅寶石機械化安全嗎?

Exception `Net::HTTPBadResponse' at /usr/lib/ruby/1.8/net/http.rb:2022 
- wrong status line: _SOME HTML CODE HERE_ 

當使用線程和機械化?我相對肯定這是 線程和net/http庫之間的一些不良行爲,但是 任何人都有任何建議,只要您希望 在使用mechanize/nethttp時一次運行的線程的上限?而且我如何捕獲這種異常,因爲rescue Net::HTTPBadResponse不起作用?

回答

1

這可能是Mechanize中非線程安全的東西,但我可以考慮其他可能導致相同問題的錯誤。如果您正在使用它們,我會先禁用持久連接。接下來要做的就是看看你的代碼,並確保你對你處理的對象小心。如果您的應用程序有多個線程用通用對象進行混淆,那麼可能會中斷一個線程安全的庫。

如果某處存在線程問題,那麼您可以安全使用的線程上限爲1.此外,您只是對發生問題的頻率進行權衡,而不考慮是否需要它是否發生。

0

基於我今天晚上試圖讓兩個基於機械化的任務在Event Machine和this somewhat ancient exchange中運行,不,看起來它不是線程安全的。