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そして、うまくいかないので、どうすればこの種の例外をキャプチャできますか?

4

3 に答える 3

1

これは Mechanize ではスレッドセーフではない可能性がありますが、同じ問題を引き起こす可能性のある他のバグを考えることができます。永続的な接続を使用している場合は、無効にすることから始めます。次に行うことは、コードを見て、処理するオブジェクトに注意を払っていることを確認することです。アプリケーションに複数のスレッドが共通のオブジェクトをいじっている場合、そうでなければスレッドセーフなライブラリが壊れる可能性があります。

どこかにスレッド化の問題がある場合、安全に使用できるスレッドの上限は 1 です。それ以上では、問題が発生するかどうかではなく、問題が発生する頻度についてトレードオフを行っているだけです。 .

于 2009-05-24T05:33:35.383 に答える
0

今夜、2 つの Mechanize ベースのタスクを Event Machine とこのやや古い exchangeでタンデムに実行しようとする私の厳しい経験に基づいて、いいえ、スレッドセーフではないようです。

于 2010-12-02T03:45:23.127 に答える
0

Aaron Patterson 自身によるこのメールによると、スレッド間でエージェントを共有しなければ問題ないはずです。

IMHO、これは Mechanize がスレッドセーフではないことを意味します。

于 2016-03-15T20:11:05.857 に答える