WebSockets und WSGI zusammen durch Gunicorn

8

Ist es möglich, Gunicorn zu verwenden, um WebSockets und normale WSGI-Ansichten in einer (Flask) App zusammen zu verarbeiten?

Ich weiß, wie man mit dem Gevent WSGI-Server WebSockets zum Laufen bringt, und ich kann mit Gunicorn eine reguläre WSGI-App mit gevent-Mitarbeitern bekommen, aber wenn ich versuche, die beiden zusammen mit Gunicorn aus einer App zu bedienen, bekomme ich einen Fehler:

  

ValueError: Die View-Funktion gab keine Antwort zurück

Ist es möglich, die beiden aus einer App zu bedienen, mit Gunicorn? Ich plane schließlich, dies alles hinter Nginx zu setzen, und ich bin nicht abgeneigt, den Sockel in eine andere App zu teilen und die beiden zu kommunizieren, solange dies nicht zu viele zusätzliche Systemressourcen erfordert. Bis dahin, gibt es einen Weg, dies auf diese Weise zu tun?

BEARBEITEN:

Ich habe herausgefunden, wie das funktioniert. Der Schlüssel ist 1) ändern Sie die Logging-Funktion für gevent und 2) stellen Sie sicher, dass ich Gunicorn angeben, dass ich geventWebSocketWorker Klasse Arbeiter verwende.

Ich habe einen Teil dieser Antwort auf dieser Seite gefunden: Ссылка

Zur Erinnerung, ich denke, es ist wahrscheinlich eine bessere Idee, einen Server mit Tornado / Twisted / Autobahn (Danke Jordan) und einen anderen mit meinen WSGI-Sachen zu haben. Aber das wollte ich hier nicht:)

%Vor%     
Moshe Bildner 13.07.2013, 23:38
quelle

1 Antwort

2

Flask-Sockets könnten hilfreich sein.

    
Andrew 05.01.2015 00:56
quelle