Je gère un projet Django qui utilise Gevent-Socketoo.
Pour une raison quelconque de mon serveur de développement, toutes mes demandes WebSockets renvoient un message L'erreur dans mes journaux UWSGI est la suivante: p> localement, je n'ai pas ce problème. Je démarre le serveur à l'aide de nginx.conf strong> p> 101 en attente code> à laquelle Socketio démarrera à vélo via tous les autres protocoles qui entraînent un
en attente code > Statut. P>
python run.py code> p>
I'm using uwsgi 1.9.6, gevent-websocket 0.3.6, greenlet 0.4.0 and the dev version of gevent(-e git://github.com/surfly/gevent.git@e2f51c1358e88b60e45d1daf8ee263da64066576#egg=gevent-dev) and gevent-socketetio (-e git://github.com/abourget/gevent-socketio.git@aeece7038b0052ddf6b4228857e4d7a67a6242f2#egg=gevent_socketio-dev)
[root@li476-12 ~]# nginx -v
nginx version: nginx/1.4.1
3 Réponses :
Pour la prise en charge de WebSockets, vous avez besoin de dernière version de nginx (1.4.x). Si vous utilisez des sorties plus anciennes, vous ne pourrez pas démarrer la chaîne WebSocket P>
Le SocketIosserver ne fonctionnera jamais lorsque vous exécutez le fichier WSGI Django en tant que module, il n'y a pas __Name__ N'EST PAS __MAIN __ P>
En plus de cela, la logique est fausse, car Sossioserver prendra l'application UWSGI Blocking Yorur Django App. P>
Je vous suggère d'exécuter SocketIoserver à partir d'un script distinct à l'aide de --attach-Daemon de UWSGI P>
(et évidemment mettre UWSGI sur un port différent) p>
Merci d'avoir répondu @roberto. Je pense que le phrasé de ma question vous a confondu. J'ai modifié pour le rendre plus clair. Je n'utilise que le fichier run.py code> (par opposition à ./manage.py runserver) localement et fonctionne bien. Le problème est les paramètres de mon serveur de développement.
Désactiver les threads dans UWSGI. P>
Vous avez un problème "Verrouillage d'interprétatateur global" p>
Enable-threads = True <- Je pense que le problème ici, essayez faux p>
Pouvez-vous essayer peut-être de l'exécuter avec un processus et voir si le problème persiste? J'ai aussi des problèmes avec Gevent-Socketo avec plusieurs travailleurs à l'aide de GunCorn, pas sûr si c'est associé GITUB.COM/ABOURGET/GENVENT-SOCKEOIO/issues/132?source=cc . En outre, en utilisant uwsgi avec gevent semble être très buggy ... Github.com / Abourget / Gevent-Socketo / Problèmes / 81? Source = cc
@Bernhardvallant merci pour le commentaire. Le lien Gunicorn était assez utile. Je n'ai pas beaucoup de temps pour déboguer cela maintenant, mais quand je le ferai, je vais essayer de vous rappeler de mettre à jour ce post.
@ Super9 Je sais que c'est une vieille question, mais je me demande si vous avez déjà résolu ce qui vous donnait l'erreur? Je rencontre un problème similaire actuellement.