Python 2.7 Python多处理池+;不终止的请求
我在尝试使用python请求和多处理模块异步下载文件时遇到问题。基本上我要做的就是从一个站点下载一个文件,然后上传到另一个站点进行备份 工作原理:Python 2.7 Python多处理池+;不终止的请求,python-2.7,asynchronous,python-requests,Python 2.7,Asynchronous,Python Requests,我在尝试使用python请求和多处理模块异步下载文件时遇到问题。基本上我要做的就是从一个站点下载一个文件,然后上传到另一个站点进行备份 工作原理: 仅同步运行同一代码(对于循环) 异步上传 什么不起作用: 异步下载(即使池大小为1) 我看到: 没什么。在发出get请求之前,代码运行良好,并且它只是无限期地挂起 这让我觉得这可能与流式请求和异步调用存在某种冲突?我不确定是否有其他人有过这个问题,也不知道是否有人对此有所了解。以下是代码的简化版本: def async_download(file_n
def async_download(file_name):
r = requests.get(url, params=file_name, cookies=cookies, stream=True)
print 'this never runs'
with open(file_name, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
# filter out keep-alive new chunks
if chunk:
f.write(chunk)
f.flush()
return file_name
def finish(file_names):
utils.deleteLocalFiles(file_names)
def main():
p = Pool(processes=1)
result = p.map_async(async_download, file_names, callback=finish)
result.get()`
if __name__ == '__main__':
main()
你想出什么办法了吗?我在我的项目中遇到了类似的问题。@Trent不幸的是,没有,我最终不得不走同步路线。