我编写了一个脚本来运行530个API调用,我打算每隔5分钟运行一次,从这些调用中我将数据存储起来以后批量处理(预测ETC)。
API每秒限制为500个请求。但是,在运行我的代码时,我看到每次通话时间为2秒(由于SSL我相信)。
如何加快速度,使我能够在5分钟内运行500个请求,因为当前所需的时间会使我收集的数据变得无用:(
代码:
def getsurge(lat, long):
response = client.get_price_estimates(
start_latitude=lat,
start_longitude=long,
end_latitude=-34.063676,
end_longitude=150.815075
)
result = response.json.get('prices')
return result
def writetocsv(database):
database_writer = csv.writer(database)
database_writer.writerow(HEADER)
pool = Pool()
# Open Estimate Database
while True:
for data in coordinates:
line = data.split(',')
long = line[3]
lat = line[4][:-2]
estimate = getsurge(lat, long)
timechecked = datetime.datetime.now()
for d in estimate:
if d['display_name'] == 'TAXI':
database_writer.writerow([timechecked, [line[0], line[1]], d['surge_multiplier']])
database.flush()
print(timechecked, [line[0], line[1]], d['surge_multiplier'])
答案 0 :(得分:0)
APi是否在您的控制之下?如果是这样,创建一个端点,可以一次性为您提供所需的所有数据。