【发布时间】:2010-01-09 18:07:21
【问题描述】:
我有一个从数据库表构建列表并实时运行的过程。时不时地将新数据添加到数据库表中。时不时从表中查询数据既麻烦又耗时,而且需要尽可能实时。解决问题的正确方法是什么?
流程如下
列表是从一个需要 2-4 秒执行的 SQL 查询构建的。
进程A使用List来执行一些功能
数据不断添加到数据库表中。我们只需要将新数据附加到列表中,进程 A 将实时使用这些数据。
我还没有尝试编写任何代码,我仍然不确定它应该是什么样的设计。 Python 是我们唯一可以使用的语言,因为已经部署了 10,000 行 Python 代码作为系统的一部分。
有人可以帮助我使用正确的方法、模块等吗?
编辑
进程 A 是程序中的一个过程。我正在考虑的 Pusedo 代码是这样的
def processA(list):
while 1:
parse file
do something
def run():
list = generate list from run sql query
processA(list)
if __name__=="__main__":
run()
【问题讨论】:
-
当你说“进程A”时,你的意思是“过程”还是“程序/线程”?
-
1.这只是关于添加数据,还是关于改变? 2. 列上有自增键吗?
-
您使用的是什么数据库系统?我不了解其他 RDBMS,但 Oracle 实际上会让您订阅数据库事件,例如您可以处理的行插入。 cx_Oracle 在今年早些时候增加了对该功能的支持。
标签: python dynamic-data real-time