[PYTHON] Beim Versuch meinheld + WebSocket + mongodb wird eine Fehlermeldung angezeigt

Meinem Dai-Sensei, der mir täglich zu Dank verpflichtet ist Es gibt eine "WebSocketMiddleware", die es einfach macht, WebSocket für vorhandene wsgi-Apps zu implementieren. Wenn es sich um einen Code handelt, der von einem Hetareyaro wie mir geschrieben wurde, ist er sehr langsam und unbrauchbar, es sei denn, er wird von meinheld erledigt, sodass ich nicht aufstehen kann.

Als ich darüber nachdachte, eine neue, cool aussehende App zu erstellen, die WebSocket so verwendet, Natürlich wird Mongodb als DB-Option mit einer solchen Dynamik ausgewählt. yep.

Also, was mongodb tun wird, wenn er sich auf Beispiel, das meinheld WebSocketMiddleware auf Flaschen usw. anwendet bezieht, das vom Autor von meinheld selbst geschrieben wurde. Ich frage mich, ob es so sein wird, wenn ich versuche zu bauen

main.py


from shimehari import Shimehari
from mongoengine import connect
from meinheld import server, middleware
import config


def connectDB():
    connect(config['DB_NAME'])

app = Shimehari(__name__)

if __name__ == '__main__':
    connectDB()
    server.listen(("0.0.0.0", 3000))
    server.run(middleware.WebSocketMiddleware(app))

Versuche zu beginnen

$ (venv) bin/python main.py

People People People People People People

Plötzlicher Fehler <  ̄Y^Y^Y^Y^Y^Y^Y ̄

Zurück verfolgen

Traceback (most recent call last):
  File "main.py", line 25, in <module>
    connectDB()
  File "/project/path/main.py", line 13, in connectDB
    connect(config['DB_NAME'])
  File "/project/path/lib/python2.7/site-packages/mongoengine/connection.py", line 162, in connect
    return get_connection(alias)
  File "/project/path/lib/python2.7/site-packages/mongoengine/connection.py", line 126, in get_connection
    raise ConnectionError("Cannot connect to database %s :\n%s" % (alias, e))
mongoengine.connection.ConnectionError: Cannot connect to database default :
call from same greenlet

Ich weiß nicht, wovon du sprichst. Ich fragte mich, ob der Wirt um den Hafen seltsam war Plötzlich habe ich die Implementierung wie folgt geändert und es hat funktioniert.

main.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from shimehari import Shimehari


def connectDB():
    connect(config['DB_NAME'])

app = Shimehari(__name__)

if __name__ == '__main__':
    connectDB()
    #Import nach Verbindung mit db
    from meinheld import server, middleware
    server.listen(("0.0.0.0", 3000))
    server.run(middleware.WebSocketMiddleware(app))

Es ist eine natürliche Sache für die Mohikan-Leute, die damit herumspielen! Es kann so etwas sein Ich bin überhaupt nicht rausgekommen, als ich gegoogelt habe Ich denke, dass es mehr Leute gibt, die node.js verwenden, wenn sie WebSocket ausführen, also denke ich, dass dies der Fall ist. Vorerst hat es damit geklappt, also bin ich froh Ist es besser, connecetDB durch so etwas wie with zu ersetzen?

Recommended Posts

Beim Versuch meinheld + WebSocket + mongodb wird eine Fehlermeldung angezeigt
Beim Versuch, maec 4.0.1.0 mit pip zu installieren, wird eine Fehlermeldung angezeigt
Ich erhalte eine Fehlermeldung, wenn ich opencv in pyautoGUI einfüge
Ich erhalte [Fehler 2055], wenn ich versuche, mit Heroku eine Verbindung zu MySQL herzustellen
Ich erhalte eine Fehlermeldung beim Import von Pandas.
Wenn ich eine Fehlermeldung mit Pylint unter Windows Atom erhalte
Beim Versuch, Xgboost und seine Lösung zu installieren, ist ein Fehler aufgetreten
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Beim Speichern mit OpenCV ist ein Fehler aufgetreten
Wenn ich einen Chrom-Treiberfehler in Selenium bekomme
Ich erhalte eine Fehlermeldung mit allen yum-Befehlen
Problemumgehung, wenn beim Versuch, PySide mit pip zu installieren, eine Fehlermeldung angezeigt wird
Beim Versuch, Hello World in der Sprache Go auszuführen, ist eine Fehlermeldung aufgetreten
Ich erhalte einen Importfehler mit Python Beautiful Soup
Wenn beim Python-Scraping ein Fehler auftritt (Anforderungen)
Bei der Verwendung von Tensorboard mit Pytorch ist ein Fehler aufgetreten
Ich erhalte eine Fehlermeldung bei der Installation von scipy auf t2.micro, weil ich nicht genügend Speicher habe
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Ich erhalte einen ImportError in appengine_config.py
Ich habe eine Fehlermeldung erhalten, als ich Composer Global Require Laravel / Installer ausgeführt habe
Ich erhalte einen Betriebssystemfehler: [Errno 8] Fehler beim Ausführen des Formats, wenn eine Flask-Anwendung mit einem Python-Befehl ausgeführt wird
Ich habe eine Fehlermeldung erhalten, als ich Meteor Add Accounts-Passwort ausgeführt habe
Ich erhalte eine Fehlermeldung, wenn ich ein Python-Plug-In in Visual Studio Code in die pyenv-Umgebung einfüge
Ich erhalte einen UnicodeDecodeError, wenn ich versuche, mit Python sqlalchemy eine Verbindung zu Oracle herzustellen
Wenn ich versuche, pip zu aktualisieren, werde ich nach einem Fehler aufgefordert, ein Upgrade durchzuführen und eine unbegrenzte Schleife durchzuführen
Was tun, wenn beim Versuch, eine Nachricht in task.loop () unmittelbar nach dem Start zu senden, eine Fehlermeldung angezeigt wird?
Ich erhalte den Fehler ~ ist Null, Singular U, wenn eine verteilte, gemeinsam verteilte Matrix von der linearen Schicht an MultivariateNormal übergeben wird
Importfehler: Der Name'Flask 'kann nicht importiert werden, wenn der Dateiname in Flask flask.py lautet
Ich habe eine Fehlermeldung erhalten, als ich opencv mit Raspeye in Python3 eingefügt habe [Remedy]
Beim Importieren von scikit-learn nach dem Herstellen einer Verbindung mit Oracle mit SQL Alchemy tritt ein Fehler auf
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Wenn beim Tippen einer interaktiven Shell mit Anaconda eine lange Fehlermeldung angezeigt wird
Ich habe versucht, durch Schaben ein Bild zu bekommen
Ich erhalte einen UnicodeDecodeError, wenn ich mit mod_wsgi laufe
Rollback, wenn beim Stoff ein Fehler auftritt
Fehler beim Versuch, psycopg2 in Python zu installieren
Beim Importieren von Japanern tritt ein Fehler auf (Problem ungelöst)
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Wenn ich versuche, Pandas unter macOS zu importieren, wird die Fehlermeldung Kein Modul mit dem Namen'_bz2 'angezeigt.
Wenn ich versuche, mysqlclient mit Django zu installieren, wird die Fehlermeldung angezeigt: Befehl 'gcc' ist mit dem Exit-Status 1 fehlgeschlagen.
Ich möchte eine Fehlermeldung auf Japanisch mit dem Django-Passwortänderungsformular ausgeben
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Ich habe eine Fehlermeldung erhalten, als ich Pandas auf einem Mac installiert habe, also habe ich mich damit befasst