Ich habe ein Django-Projekt hinter Nginx und Gunicorn laufen. Eine der Anwendungen interagiert mit Netzwerkgeräten mithilfe von Exscript, das wiederum Paramiko verwendet. Einige Geräte funktionieren nicht richtig, wenn sie hinter Gunicorn stehen.Könnte Gunicorn ein Problem mit exscript/paramiko verursachen?
Derselbe genaue Code funktioniert in der django-admin-Shell einwandfrei. Es wird auch funktionieren, wenn ich den integrierten Django-Server starten, aber ich bekomme immer noch den Fehler, wenn ich Nginx umgehen und direkt mit Gunicorn verbinden.
Ich versuchte, die Funktionalität zu einer Sellerie Aufgabe zu bewegen, hatte es das gleiche genaue Problem, aber nur hinter Gunicorn.
Ich schrieb ein Skript mit Django-Erweiterungen, die von der Befehlszeile aus funktioniert, aber wird fehlschlagen, wenn über Subprozess aufgerufen wird. Aber nur hinter Gunicorn.
Die Geräte, die alle ausfallen, scheinen F5-LTMs zu sein, und es sieht so aus, als ob der Puffer im exscript-Objekt irgendwie geändert wird. Wenn ich raten müsste, würde ich sagen, dass Gunicorn und Exscript/Paramiko irgendwie auf die Erinnerung jedes anderen treten, oder vielleicht setzt Gunicorn eine Umgebungsvariable, die Exskript aufnimmt.
In jedem Fall bin ich gründlich ratlos und würde jede Anleitung, wie man dies beheben kann, schätzen.
Wie haben Sie Paramiko installiert? Mit einem Betriebssystempaket? Mit Pip? Verwenden Sie virtualenv? Sind Sie sicher, dass Gunicorn dasselbe Paramiko verwendet wie Ihre Befehlszeile? –
Parimiko wurde mit Pip installiert, und nur in der Virtualenv, die Gunicorn verwendet. Gute Idee aber. –
Wenn Sie das Problem immer noch haben, geben Sie bitte an, welcher [Läufertyp] (http://gunicorn-docs.readthedocs.org/en/latest/run.html#commonly-used-arguments) Sie in Gunicorn verwenden? Wenn Sie sagen, dass es scheitert, können Sie näher erläutern, was genau passiert (eine Ausnahme, Prozess hängt, etc.)? – tutuDajuju