この例から始めて、 eventletを使用して単純なWebサイトクローラーを構築しています。SQLAlchemyを使用して、Webページのコンテンツとメタデータを保存してさらに処理したいと思います。イベントレットと一緒にSQLAlchemyを使用することは可能ですか?誰かが簡単な例を提供できますか?
2720 次
2 に答える
7
OpenStack Compute(Nova)プロジェクトはSQLAlchemyとeventletを使用しているので、それらのアプローチに興味があるかもしれません。
于 2011-09-03T15:59:06.570 に答える
4
返事が遅れて申し訳ありません。
それは実際に使用するデータベース接続ライブラリに依存します。
- MySQLdbのようなC拡張ライブラリーの場合、EventletにはOpenStackの例で使用されているdb_poolモジュールがあります。基本的に、ブロッキングDB操作を実行するためのOSスレッドのプールを作成します。したがって、実際には多くの並列クエリを実行することはできませんが、データベースはそれらを存続させない可能性が高いため、問題にはなりません。
- myconnpy、pg8000などの純粋なPythonライブラリの場合は、を呼び出すだけ
eventlet.monkey_patch()
です。 - 特別な場合として、Eventletはpsycopg2のモンキーパッチをサポートしています。これはC拡張機能ですが、IOフックを提供するのに十分優れているため、両方の長所を活用できます。繰り返しますが、への単純な呼び出しで
monkey_patch()
うまくいきます。
于 2013-01-09T21:08:47.540 に答える