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