【发布时间】:2011-01-14 08:12:48
【问题描述】:
我使用这个python代码每5秒输出一次Things的数量:
def my_count():
while True:
print "Number of Things: %d" % Thing.objects.count()
time.sleep(5)
my_count()
如果在 my_count() 运行时另一个进程生成了一个新事物,my_count() 将继续打印相同的数字,即使它现在在数据库中已更改。 (但如果我杀死 my_count() 并重新启动它,它将显示新的事物计数。)
东西存储在 MYSQL innodb 数据库中,这段代码在 ubuntu 上运行。
为什么 my_count() 不重新启动就不会显示新的 Thing.objects.count()?
【问题讨论】:
-
黑暗中的一枪:你在使用交易吗?
-
Oggy:是的,我使用事务。