/ / Comment autoriser plusieurs connexions à une vue Django lente - python, django, django-views

Comment autoriser plusieurs connexions à une vue lente de Django - python, django, django-views

J'ai une fonction de vue simple et assez lente dans Django qui ressemble à ceci:

def example_view(request):
context = external_api_call_that_takes_a_long_time_to_return()
return render(request, "template.html", context)

Lorsque j'accède à la vue à partir de deux onglets, toutefois, il ne exécute qu'une de ces fonctions de vue à la fois. Le premier prend 10 secondes à charger, le second 10 secondes plus tard.

Comment laisser mon serveur générer ces vues simultanément?

Réponses:

2 pour la réponse № 1

Quelques options pour vous

  1. Exécutez plusieurs instances de votre application derrière un équilibreur de charge. Pour Exemple de proxy inverse utilisant nginx pour dire deux instances de votre application fonctionnant sur deux ports différents.

  2. Utilisez gunicorn pour lancer votre application Django avec plusieurs utilisateurs.

https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/gunicorn/