3
我堅持用這個的SQLAlchemy的Python問題:說完之後這裏的應該在多線程會員在__init)初始化__(和其他方法的工作方式不同
class InThreadUpdater():
def __init__(self):
self.portion_size = 5
self.select_portion_func = db.session.query(FBPostStats).with_lockmode("update").limit(self.portion_size)
def run(self):
for post in self.select_portion_func.all():
post.locked_by_thread = True
db.session.commit()
if __name__ == "__main__":
updater = InThreadUpdater()
thread = threading.Thread(target=updater.run)
做簡單的更新作業的一類,但沒有真正的更改提交到數據庫。它的工作原理,如果我移動 成員select_portion_func
的初始化函數run()
這樣
def run(self):
self.select_portion_func = db.session.query(FBPostStats).with_lockmode("update").limit(self.portion_size)
for post in self.select_portion_func.all():
post.locked_by_thread = True
db.session.commit()
什麼是這兩個變體之間的區別?爲什麼第一個給出post
的某種副本?
在此先感謝!
好的,這說明了情況。想想如何使它可用,謝謝! – yablokoff 2012-02-04 20:54:44