繁体   English   中英

如何同时运行两个 python 功能?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM