weixin_40003238
2017-09-12 07:16gevent pool空间无法回收
使用gevent批量爬取网页,因为页面较多,不适合创建出所有的greenlet再执行,
所以用gevent.pool来做。加入到pool中的greenlet可以正常运行,但运行结束后
并没有释放pool的空间,导致pool被占满,后续任务无法执行。
代码:
g = Pool(1000)
while not urlQue.empty():
url = urlQue.get().strip()
g.add(g.start(gevent.spawn(thread,url)))
def thread(url):
b = downloadWorker.DownloadWorker(url)
b.run()
del b
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 如何使用selenium进行多协程填写表单?
- python
- 1个回答
- Google Maps API:如何将源代码从Google Spreadsheet API替换为MySQL / PHP?
- javascript
- mysql
- php
- 1个回答
- php代码调用javascript函数返回函数未定义
- javascript
- php
- 2个回答
- 使用谷歌地图API - 标记群集
- javascript
- api
- php
- 1个回答
- 单击Google地图上的HTML表单
- javascript
- html
- php
- 1个回答
换一换