python - 具有相同 args 和 map_async 说明的两个不同函数
问题描述
我想运行两个函数,它们依次运行对两个不同数据库的查询。这两个函数都采用相同的参数,看来我可以通过利用多处理来加快速度。
但是,我不太确定应该使用哪个多处理类。
我最初查看了 Pool 类,似乎我可以使用map_async()
. 但是,我也在这个答案中看到,map_async()
在类似的用例中实际上并没有让函数并行运行有人知道为什么吗?:https ://stackoverflow.com/a/44155077/7468886
如果是这种情况,是否有其他可以使用的解决方案?
下面是两个函数。结果返回后,我将它们合并。
sql_manager = SQLManager()
sql_results = sql_manager.search_data(
title=title,
type=type,
release_year=release_year)
mongo_manager = MongoManager()
mongo_results = mongo_manager.search_data(
title=title,
type=type,
release_year=release_year)
编辑:
这些search_data()
函数不运行简单的查询,但实际上如下:
- 根据 args 构造查询字符串
- 检索类成员数据库连接
- 初始化一个游标
- 执行查询
- 遍历每一行并从每一行创建一个字典
- 将此字典追加到列表中
- 返回列表
由于该函数完成了所有这一切,它是否仍适用于多处理而不是多线程?
解决方案
推荐阅读
- c# - 将数据表中的所有字段返回到 AJAX
- javascript - 如何使用 Javascript/PHP 切换模式?
- java - Java 8 Lambda:地图列表
- c# - BindableProperty 默认值无法正常工作
- windows - 如何从 Windows kubernetes pod 容器中复制文件
- leaflet - 带有链接的传单 GEOpoly
- python - 如何让 Python argparse 接受一个“-a”标志来代替位置参数?
- vb.net - 对文件路径进行硬编码时,如何考虑不同的用户配置文件?
- git - 当git历史包含私人信息时如何使源代码开放?
- c# - 用于作业的 Kubernetes 服务帐户