私のテスト機能の1つに非同期作業を実装したいと思います。 機能、ヒューリスティックは、次のようになります -Greenlet値を使って作業する
def test_sessions(self):
sessions = []
"""
Creating 10k session instances
"""
for i in xrange(10000):
sessions.append(Session.create_session(session_handle, login_params(user, pass))
"""
Foreach session instance, check session validity by running read_dir command
"""
for session in sessions:
connection = Connection.create_connection(addrs, port)
connection.session = session.id
response = connection.read_dir(dir)
"""
Deleting the 10k opened sessions
"""
for session in sessions:
session.delete(session_handle)
10Kセッションのために、このチェックを実行するのにかかる時間は30メートル程度です。したがって、私は、これらのセクション(作成、チェック、削除)にgreenletとgeventを使用して、物事を少し速くすることにします。
グリーンレットスレッドによって作成されるセッションインスタンスにアクセスする方法を特定できないため、このアイデアを実装する方法を理解する上で問題があります。どのようにするべきかの良い例は見つかりませんでしたグリーンレットの値を使用することができます。
def check_session()
session = Session.create_session(session_handle, login_params(user, pass)
connection = Connection.create_connection(addrs, port)
connection.session = session.id
response = connection.read_dir(dir)
session.delete(session_handle)
今、あなたはインポートする必要greenlet、monkey-:
、単一の関数に単一のセッションのためのコードを入れて、ここで