我正在使用带有MySQL db的turbogears2。使用相同的代码,单线程案例可以更新/写入表。但是线程没有错误,但是没有写成功。
在turbogears2之外,多线程可以毫无问题地写入表。
与tg2的多线程没有错误或投诉。只是没有成功写入到表中。
如果任何使用tg2的人能给我建议,我将不胜感激。
发布于 2019-04-28 08:48:03
使用默认配置设置,在常规的请求/响应周期中,TuborGears2使事务管理器能够在控制器处理完请求后自动提交对数据库的更改。
这是在 tutorial中引入的
...您通常需要刷新SQLAlchemy工作单元并提交当前正在运行的事务,这些操作将由TurboGears2事务管理自动为我们完成。
您不需要做任何事情就可以使用这个事务管理系统,它应该可以正常工作。
但是,对于在常规请求/响应周期之外执行的所有内容,例如stream或其他线程(如scheduler ),都需要手动刷新会话并提交事务。这是使用DBSession.flush()和transaction.commit()执行的。
DBSession.flush()
transaction.commit()
https://stackoverflow.com/questions/55859629
相似问题