中级农民
- 积分
- 102
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2015-1-8
- 最后登录
- 1970-1-1
|
大概是这样吧:
import time
import datetime
from collections import deque
class GoogleMapsClient(object):
"""3rd party maps client; we CANT EDIT THIS."""
def __init__(self):
self.requests_made = 0
def make_request(self):
self.requests_made += 1
now = datetime.datetime.now().time()
return "%d - %s - San Francisco" % (self.requests_made, now)
class Request:
def __init__(self):
self.init_time = datetime.datetime.now()
class RequestMaker:
def __init__(self, max_request_number):
self.request_queue = deque()
self.max_request_number = max_request_number
def make_request(self):
q_len = self.flush_expired_requests()
if q_len < self.max_request_number:
req = Request()
self.request_queue.append(req)
GoogleMapsClient.make_request()
def flush_expired_requests(self):
time_now = datetime.datetime.now()
while len(self.request_queue) > 0:
if time_now - self.request_queue[0].init_time > datetime.timedelta(seconds=1):
self.request_queue.popleft()
else:
break
return len(self.request_queue)
Lock要求加再加
|
|