Python用のHTTPクライアントライブラリ

| コメント(0) | トラックバック(1)

"やよい"の改修問題ですが,とりあえず Python で行くことにして現在色々検証中です。

殆どの部分で Python で行ける手応えがあるんですが,実際にプロト書き始めてみて問題が発生しました。


それが HTTP 通信の部分。

"やよい" は大きくデータ閲覧およびサービス管理用のWebアプリ部分とデータ収集用のバッチプログラム部分に別れているのですが,このデータ処理のところで大量の HTTP 通信を行う必要があります。大体15〜30秒ごとに30〜100ぐらい接続する感じです。

これらの HTTP 通信はほぼ同一サーバに対する通信になりますので,KeepAlive を使用することで,サーバ・クライアント双方で大幅にコストを削減できます。ってか,逆に言えば KeepAlive を使用しないとクライアント側もけっこう大変なことになります。

特に Windows 環境下だと,TCP/IP の接続をアプリケーションでクローズしても,実際にはすぐには完全にクローズにならないので,わりとリソースが無駄に消費されてしまい,はては処理不能になったりします。

これを防止するためにも KeepAlive を使用して HTTP 通信したいのですが,Python 付属の HTTP クライアントである urllib2 では KeepAlive をサポートしてません。

より下層のHTTP通信ライブラリである httplib を使用すれば実現できるかも知れませんが,chunked の問題やエラー処理その他諸々を考えるとわりとめどそうです。


どうしたものやら。

金曜ぐらいまでに上手い解決法が見つからなかったら,諦めて Java でやろうと思います。

なかなか難しいですね。

トラックバック(1)

トラックバックURL: http://blog.tsukuba-bunko.jp/mt/mt-tb.cgi/507

http://blog.tsukuba-bunko.jp/ppoi/archiv... 続きを読む

コメントする

アーカイブ

Powered by Movable Type 4.2-ja