繁体   English   中英

Python 多处理保持第一个进程成功

[英]Python Multiprocessing keep the First Process to Succeed

我正在尝试加快尝试从在线资源中检索数据的网络抓取脚本。 由于我遇到网络问题并且我的大多数呼叫都以超时错误结束,我想出了在多个进程上运行相同呼叫的想法,这样我获得结果的机会就更高了,我不必等待尝试错误重试循环。 我怎样才能做到这一点? 我正在查看多处理库,但我不明白如何保持“获胜”过程并中断其他过程。 有任何想法吗?

不要对 IO 操作使用多处理,目的是使用线程模块。 你什么都不做,你只是等待远程服务器的回答,在这种情况下你需要多线程模块。

如果您的远程服务器没有在要求的时间内回复您 - 它很忙或不可用,如果您同时向服务器发送 100 个请求,它将忽略 100 个请求而不是 1 个。

如果您可以向 100 个不同的服务器发送 100 个请求或向可以同时处理 100 个请求的一台服务器发送 100 个请求,那么多线程模块是很好的。 在您的情况下,没有证据表明大规模请求攻击如何帮助到达不可用的服务器......如果我看到数据库不能一次挂起 10 个线程,我在使用数据库时使用多线程,我将数量减少到 8 并查看会发生什么,以寻找理想的传入线程数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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