Response["X-Accel-Buffering"] = "no" в Django не имеет эффекта в Google App Engine
Это работает на моем локальном (с Apache2) и на моем Compute Engine с NGINX. Мой views.py :
from django.shortcuts import render
from django.http import StreamingHttpResponse
import time
def home(request):
return render(request, 'home.html', {})
def automate_run(request):
# content_type doesn't have to be application/json
response = StreamingHttpResponse(automate_foo(), content_type="application/json")
response['Cache-Control'] = 'no-cache' # prevent client cache
response["X-Accel-Buffering"] = "no" # Allow Stream over NGINX server
return response
def automate_foo():
for i in range(1, 11):
status = "Step %d" % i
percentage = i * 10
json_string = f'{{"status": "{status}","percentage": "{percentage}"}}'
print(json_string)
yield json_string
time.sleep(.5)
Но response["X-Accel-Buffering"] = "no"
, похоже, никак не влияет на Google App Engine, который, как я понимаю, использует NGINX под капотом.
Демонстрация : https://cloudxchange.el.r.appspot.com (щелкните правой кнопкой мыши > Inspect)