Webアプリケーションで非同期サブプロセスロックが必要です。 私は次のコードを書き込む:マニュアルで平均収率とは何もなし(tornado.gen.moment)
r = redis.Redis('localhost')
pipe = r.pipeline()
is_locked = False
while not is_locked:
try:
pipe.watch(lock_name)
current_locked = int(pipe.get(lock_name))
if current_locked == 0:
pipe.multi()
pipe.incr(lock_name)
pipe.execute()
is_locked = True
else:
yield None
except redis.WatchError:
yield None
return True
WRITENそのtornado.gen.moment(yield None
バージョン4.5以降)IOLoopは、一回の反復のために実行できるように得てもよい特別なオブジェクトです。使い方?他のフィーチャオブジェクト(他のリクエストから)と次の反復ですか?そうではありませんか? yield None
は使いやすいですか?
ソースコードのうち、tornado.gen.coroutineで装飾された機能 – COUNTERKILL