全体像は次のとおりです。外部で Django モデルを操作しながら、非同期 IO を実行するアプリケーションで eventlet を使用したいと考えています。外部で Django を操作するのは簡単ですが ( Django: How can I use my model classes to interact with my database from outside Django? を参照)、それは主要な問題ではありません。
greenlets から Django を使用するのは危険だと思います (テストしていません)。実際、psycopg2 の場合、次の警告が表示されます ( http://www.initd.org/psycopg/docs/advanced.html#support-to-coroutine-librariesを参照)。
Psycopg 接続はグリーン スレッド セーフではなく、異なるグリーン スレッドで同時に使用することはできません
Django では、スレッドごとに 1 つの db 接続があり (そうですか?)、使用すると恐ろしいシナリオにつながる可能性があります。どうにかして接続オブジェクトを手動で提供することは可能ですか? それとも「greenlet-local」にしますか?
私の動機は、イベントレット ( http://eventlet.net/doc/modules/db_pool.html )から接続プールを使用して、IO バウンドのアプリケーションを高速化することです。