python实现并发http_python 2.7 如何实现http post多并发?
注意是python 2.7, (multiprocessing值支持到2.6,2.7下安装会报错)
用threadpool试了一下,总是报错:
单次并发的函数
data = ['a', 'b', 'c']
#data传到threadpool.makeRequests里面的第二个参数,函数会将这个列表里面的值取出来,然后根据并发数进行并发。
def repost(data):
response = requests.post(url, data).text
return response
结果处理函数,只是打印出来
def postresult(requestself, responseresult):
print(responseresult)
#其他的处理,比如对结果插入到数据库,或者写入日志等,可以在这里写
pool = threadpool.ThreadPool(5)
requests = threadpool.makeRequests(repost, data, postresult)
**#之前出问题,是因为这里requests的名称定义和requests()方法冲突了。。。然后报错又很奇怪,没引起注意,把这里的requests改个名字就OK了。各位,承让了。
当然,下面这一样,也改一下。requests的名称。
[pool.putRequest(req) for req in requests]
pool.wait()
报错如下:
Traceback (most recent call last):
File "C:\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\threadpool.py", line 158, in run
result = request.callable(*request.args, **request.kwds)
File "C:\test.py", line 29, in repost
response = requests.post(url, data1).text
AttributeError: 'list' object has no attribute 'post'
或者有没有其他实现方法?
我靠,我靠,我靠靠靠。。。。问题解决了。看上面的备注。再见。
先把test.py全贴上来,看错误提示你应该是覆盖了request变量,导致request变成了list类型。
建议,不要使用ThreadPool实现多并发,基于Python的特性,即使你使用多线程,也只能同时运行一条指令而已,多线程性能提升有限。
你首先应该使网络异步,然后实现基本的ioloop,也可以基于asyncio或tornado 实现单线程多并发
2.7没有asyncio,你可以用gevent之类的,还有几十2.7应该是有multiprocessing的,只是你这种是io密集型的,用多进程会适得其反, 用第三方库实现协程吧
python实现并发http_python 2.7 如何实现http post多并发?相关推荐
- python软件和rost软件哪个更好_Python几种并发实现方案的性能比较
偶然看到Erlang vs. Stackless python: a first benchmark,对Erlang和Stackless Python的并发处理性能进行了实验比较,基本结论认为二者有比 ...
- 到底多大并发才算高并发?一文带你全面认识高并发!
点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 作者 | 骆俊武 来源 | IT人的职场进阶 高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大 ...
- 测试并发应用(七)配置Eclipse来调试并发代码
声明:本文是< Java 7 Concurrency Cookbook >的第八章, 作者: Javier Fernández González 译者:郑玉婷 校对:方腾飞 配置Eclip ...
- 《C++并发编程实战》——1.1 什么是并发
本节书摘来自异步社区出版社<C++并发编程实战>一书中的第1章,第1.1节,作者:[美] Anthony Williams (威廉姆斯),更多章节内容可以访问云栖社区"异步社区& ...
- 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系
概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...
- 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)
文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...
- 用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?
用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 转载 codeing_doc 最后发布于2018-11-23 09:44:41 阅读数 1073 ...
- python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...
多任务 CPU承担了所有的计算任务.一个CPU在一个时间切片里只能运行一个程序.当我们想同时运行多于一个程序的时候,就是多任务,例如同时运行微信,QQ,浏览器等等.多任务的目的是提升程序的执行效率,更 ...
- python断点续传下载_Python 3 爬虫|第12章:并发下载大文件 支持断点续传
1. stream 流式下载大文件 1.1 stream=True 和 iter_content() 我们将继续使用 Python 3 爬虫|第3章:同步阻塞下载 所搭建的测试环境,在 Nginx 默 ...
最新文章
- linux c语言 glibc 错误 munmap,Linux内存分配小结--malloc、brk、mmap
- Cookie或将被替换!Chrome工程师提议新型HTTP状态管理协议
- c++类模板(c++细节篇十一)
- 领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】
- 代码拾取图片某一点的颜色_RPG游戏开发日志7:道具拾取与存放
- (只需挨个复制粘贴命令即可部署)在Centos7下搭建文件服务器(VSFTPD)
- 天池 在线编程 能否转换
- android组件间共享数据的常用方法
- 第三十一章 考试作弊
- 区间dp讲解之石子合并问题 区间dp的分析方法
- javax.mail.MessagingException: Unknown SMTP host: smtp.163.com;
- 希腊字母含义及快捷键输入
- 三大运营商URL欺骗;手机免费上网,测试,教程,服务器
- 不要告诉我你懂margin
- hyper-v开虚机
- React中CSS样式
- 优酷播放黑科技 | 自由视角技术的全链路策略与落地实践
- 锘崴科技 王爽教授:安全联邦学习、隐私计算领域的开拓者
- 阿里测试7年经验,从功能测试到自动化测试,我整理的超全学习指南
- 地址栏中的#能不能去掉?