浏览代码

flask: update: Avoid deadlock.

INADA Naoki 12 年之前
父节点
当前提交
b6a3b4b202
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      flask/app.py

+ 4 - 2
flask/app.py

@@ -116,8 +116,10 @@ def updates():
 
     worlds = []
     rp = partial(randint, 1, 10000)
-    for i in xrange(num_queries):
-        world = World.query.get(rp())
+    ids = [rp() for _ in xrange(num_queries)]
+    ids.sort()  # To avoid deadlock
+    for id in ids:
+        world = World.query.get(id)
         world.randomNumber = rp()
         worlds.append(world.serialize)
     db.session.commit()