2017-07-02 4 views
0

J'ai un comportement un peu bizarre, de mon application Django, après déploiement sur le serveur avec gunicorn. En premier lieu, j'ajoute un script pour le démarrage, en utilisant l'outil runit (linux, bien sûr). Et vu que mon serveur répond sur demande comme il le veut. Peut-être répondra-t-il sur demande, peut-être pas.Django ne répond pas sur certaines requêtes après le déploiement sur le serveur

J'ai été choqué, car la même configuration sur ma machine locale fonctionne correctement. J'ai donc décidé de supprimer le script de la version par défaut, et de l'exécuter comme sur la machine locale, avec le même script, que j'ai retiré de runit upstart. Le résultat est meilleur, il répond sur 95% des appels ajax, mais un ne fonctionne toujours pas.

Écran de surveillance du réseau chromé.

enter image description here 10 secondes, demande SIMPLE pour stop/url. Je n'ai jamais vu, ce serveur répond au client sur start/url, lorsque l'application est déployée sur le serveur.

Il y a des écrans de ma machine locale, de la surveillance du réseau Chrome. Je cours des applications sur le moteur de calcul de google, ainsi j'ai pensé que le serveur n'a pas assez de représentation. Mais c'est faux. Les changements de type de machine n'ont aucune influence.

Ensuite, j'ai décidé de jeter un oeil aux logs et au code. Avant la réponse, j'ai écrit ces lignes de code:

log.info('Start activity for {}'.format(username)) 
return HttpResponse("started") 

Et je peux le voir dans les journaux. Mais il ne répond toujours pas.

enter image description here

Je ne comprends toujours pas ce qui se passe. Ça me rend fou.

Répondre

0

tout le monde.

-je résoudre ce problème par:

  1. modifier tous les scripts aux versions minified (* .js -> *) de .min.js
  2. ajouter django.middleware.http.ConditionalGetMiddleware à intergiciels
  3. ajouter SESSION_COOKIE_DOMAIN = ".yourdomain.com" aux paramètres

Peut-être que ce serait utile pour quelqu'un.