【发布时间】:2018-04-18 22:48:25
【问题描述】:
我有以下功能,
import requests
def get_url_type(data):
x = {}
for i in range(0,len(data)):
print i
try:
x[i] = requests.head(data['url'][i]).headers.get('content-type')
except:
x[i] = 'Not Available'
return(x)
此函数返回传递给它的每个 URL 的 URL 类型,当没有响应时,它会抛出使用异常捕获的错误。我的问题是,一些请求需要超过 5-10 分钟的时间,这在生产环境中太多了。我希望函数在超过 5 分钟时返回“不可用”。当我对此进行研究时,提到将函数转换为异步函数。我试图改变它但没有成功。
以下是我尝试过的,
import asyncio
import time
from datetime import datetime
async def custom_sleep():
print('SLEEP', datetime.now())
time.sleep(5)
我的目标是,只要请求函数花费超过 5 分钟,它就应该返回“不可用”并移至下一次迭代。
谁能帮我做这件事?
提前致谢!
【问题讨论】:
标签: python python-2.7 asynchronous