我在共享托管计划上运行一个小型Web应用程序。 我有一个“工人功能”,其中包含一个无限循环;循环会检查数据库中的任务队列以了解要执行的新操作。这需要使用@transaction.commit_manually
来打败Django的缓存并获取每次迭代的最新信息。Django + MySQL:保存点不存在?
我最近实施DB的日志记录,因此需要使用保存点到我的工作器功能介绍 - 这样一来,如果有什么出错,我可以回滚到一个很好的保存点,登录到数据库,并进行直到我到达最终现在transaction.commit()
,不像我开发服务器,生产服务器给我的错误:
DatabaseError: (1305, 'SAVEPOINT s140364713719520_x1 does not exist')
指向transaction.savepoint_rollback()
呼叫在except
块(见下文源)。开发服务器没有这样的问题;如果我在交互式shell中键入transaction.savepoint()
,生产服务器会很高兴地生成保存点ID。
This is the outline of my code,如果它有任何帮助;我试图保持简洁。
如果有仁慈的Python专家出现在那里,请帮助我。我对此感到非常沮丧,尽管我觉得我在冷静地处理这件事方面做得很好。
我所有的表使用的是InnoDB,这两个网站上。 – egasimus
@egasimus对不起,我被困在这一个。 –