Wait for report to exist before trying to download

svn: r20937
This commit is contained in:
Doug Blank
2013-01-02 03:20:16 +00:00
parent 821caa8a5f
commit ca2fd738d0

View File

@@ -256,12 +256,17 @@ def process_report_run(request, handle):
else: else:
make_message(request, "Invalid report type '%s'" % report.report_type) make_message(request, "Invalid report type '%s'" % report.report_type)
return redirect("/report/") return redirect("/report/")
if os.path.exists(filename): # need to wait for the file to exist:
return send_file(request, filename, mimetype) start = time.time()
while not os.path.exists(filename):
# but let's not wait forever:
if time.time() - start > 10: # after 10 seconds, give up!
context = RequestContext(request)
make_message(request, "Failed: '%s' is not found" % filename)
return redirect("/report/")
time.sleep(1)
return send_file(request, filename, mimetype)
else: else:
context = RequestContext(request)
make_message(request, "Failed: '%s' is not found" % filename)
return redirect("/report/")
# If failure, just fail for now: # If failure, just fail for now:
context = RequestContext(request) context = RequestContext(request)
context["message"] = "You need to be logged in." context["message"] = "You need to be logged in."