我试图修补一个测试框架内置在python JavaScript中称为mootools-test-runner(我是一个前端开发人员白天,所以我的Python技能是很弱......真的很弱)使用threading.Timer响应HTTPRequest后延迟响应
用例是我们希望能够向服务器发出一个json请求,并让它在返回之前延迟x个时间量 - 最初它被写入使用睡眠方法,但阻止了多个同时发生的请求。 Sooo ...在拨通了大约一天后,我到达了下面的代码。我看到的问题(尽管我的代码可能有很多问题)是:
视图test_runner.views.echo_json没有返回HttpResponse对象。
如果任何人可以提供任何建议或指引我在正确的方向我将超级感激 - 谢谢!
def echo_json(req, wasDelayed=False):
if req.REQUEST.get('delay') and wasDelayed == False:
sleeper(req, echo_jsonp)
else:
response = {}
callback = req.REQUEST.get('callback', False)
noresponse_eys = ['callback', 'delay']
for key, value in req.REQUEST.items():
if key not in noresponse_keys:
response.update({key: value})
response = simplejson.dumps(response)
if callback:
response = '%s(%s);' % (callback, response)
return HttpResponse(response, mimetype='application/javascript')
def sleeper(req, callback)
delay = float(req.REQUEST.get('delay'))
t = threading.Timer(delay, functools.partial(callback, req, true))
t.start()
请将您的Python框架添加到标签。 – 2010-10-24 19:54:34
哦,对不起,谢谢:) – jacobthornton 2010-10-24 20:01:02