我在db A中有一个表(比如table_A),db的B和C中有另外两个表。我正在运行查询:
session.query(Table_A).filter(Table_A.date >= time1, InventoryLog.audit_date < time2)
我在循环中运行它,在table_B中添加行并在每次迭代中更新time1,time2。
现在,我想在不同的时间间隔内在同一个(或不同的表)上并行运行另一个查询,并插入另一个table_C(循环)。重要的是并行运行它们。
我应该如何在sqlalchemy中解决这个问题?我应该使用芹菜还是过度杀戮?
提前致谢!
答案 0 :(得分:1)
您可以使用线程进行并行处理。
from threading import Thread
def fn1(arg1):
while True:
session.query(Table_A).filter(Table_A.date >= time1, InventoryLog.audit_date < time2)
# do other stuff
def fn2(arg1):
while True:
session.query(Table_B).filter(Table_B.date >= time1, InventoryLog.audit_date < time2)
# do other stuff
def fn3(arg1):
while True:
session.query(Table_C).filter(Table_C.date >= time1, InventoryLog.audit_date < time2)
# do other stuff
t1 = Thread(target=fn1, args=(1,))
t2 = Thread(target=fn2, args=(1,))
t3 = Thread(target=fn3, args=(1,))
t1.start()
t2.start()
t3.start()