首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python多处理:工作池与进程

Python多处理:工作池与进程
EN

Stack Overflow用户
提问于 2020-08-15 09:01:07
回答 1查看 87关注 0票数 0

我有个不和谐的机器人我需要放大。bot的主要功能是从第三方网站获取数据,并保存一个包含成员信息的数据库。这两个操作非常耗时,我希望为每个操作都有一个单独的工作人员/进程。

我的制约因素:

  • 有第三方网站的每分钟获取的限制。
  • 数据库不能同时访问同一行会。

我一直在网上寻找最好的方法来做这件事,但是我进入了几个实现这种解决方案的库/方法。我有哪些选择,他们的长处和弱点?

EN

回答 1

Stack Overflow用户

发布于 2020-08-15 09:23:13

由于主机的请求数量是有限制的,所以我首先尝试运行一个同步程序,并在分钟结束之前检查是否达到了限制。如果是这样的话,就没有必要同时运行其他工人。但是,如果没有达到限制,那么我建议您同时使用asyncioaiohttp来异步获取请求。有大量关于如何开始使用这些库的信息。

另一种选择是使用好的旧threading模块(或用于更高级别的用例的concurrent.futures )。这两种选择各有优缺点。我要做的是首先尝试concurrent.futures (即ThreadPoolExecutor上下文管理器)模块,因为您只需要添加一行代码。如果它没有完成任务,那么请记住:必要时使用asyncio,必要时使用threading。这两个模块都很容易使用和理解,但它们确实需要遵循一个通用结构,这意味着您很可能不得不更改代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63428663

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文