Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何同时运行两个python函数?_Python_Database_Multithreading_Parallel Processing - Fatal编程技术网

如何同时运行两个python函数?

如何同时运行两个python函数?,python,database,multithreading,parallel-processing,Python,Database,Multithreading,Parallel Processing,背景 我有一个python脚本,可以在两个不同的环境中比较同一个表,例如生产和开发环境。现在要做的是比较数据,我需要同时从两个环境中获取数据。我在这里使用的是Oracle数据库 我目前的策略: 我的主python脚本使用os.startfile()同时启动两个不同的python脚本。每个脚本从各自的环境中获取数据,例如,fetch_prod.py从生产中获取数据,然后将数据保存到excel文件中作为prod_data.xlsx 我的主脚本每一分钟检查一次,以查看两个excel文件是否都存在。然后

背景

我有一个python脚本,可以在两个不同的环境中比较同一个表,例如生产和开发环境。现在要做的是比较数据,我需要同时从两个环境中获取数据。我在这里使用的是Oracle数据库

我目前的策略:

我的主python脚本使用os.startfile()同时启动两个不同的python脚本。每个脚本从各自的环境中获取数据,例如,fetch_prod.py从生产中获取数据,然后将数据保存到excel文件中作为prod_data.xlsx

我的主脚本每一分钟检查一次,以查看两个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

到目前为止你试过什么?给我们看一些代码!由于大部分延迟与网络/db有关,我可能会选择异步编程。