5

この例から始めて、 eventletを使用して単純なWebサイトクローラーを構築しています。SQLAlchemyを使用して、Webページのコンテンツとメタデータを保存してさらに処理したいと思います。イベントレットと一緒にSQLAlchemyを使用することは可能ですか?誰かが簡単な例を提供できますか?

4

2 に答える 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 に答える