[英]How to run two python functions at same time?
背景
我有一个 python 脚本,用于比较两个不同环境中的同一张表,例如生产和开发。 现在的事情是比较数据,我需要同时从两个环境中获取数据。 我在这里使用 Oracle 数据库。
到目前为止我的策略:
我的主要 python 脚本使用 os.startfile() 同时启动两个不同的 python 脚本。 每个脚本都从它们各自的环境中获取数据,例如 fetch_prod.py 从生产中获取数据,然后将数据作为 prod_data.xlsx 保存到 excel 文件中。
我的主脚本每隔一分钟检查一次 excel 文件是否都存在。 之后它将 excel 读入 pandas 数据帧并进行比较。
我想要的是
我需要在我的主脚本中并行运行这两个数据获取函数,并且需要等到它们发出已获取所有数据的信号。
考虑使用 python多处理模块。
你可以运行这样的东西:
from multiprocessing import Process
def read_db1(some_arg):
pass
# Do Something
def read_db2(some_arg):
pass
# Do Something
def main():
db1_proc = Process(target=read_db1, args=('bla',))
db1_proc.start()
db2_proc = Process(target=read_db2, args=('bla',))
db2_proc.start()
db1_proc.join()
db2_proc.join()
# Do something now that both processes are done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.