Au professeur meinheld qui m'est redevable au quotidien
Il existe un WebSocketMiddleware
qui facilite la mise en œuvre de WebSocket pour les applications wsgi existantes.
Si c'est un code écrit par un hetareyaro comme moi, c'est très lent et inutilisable sans l'aide de meinheld, donc je ne peux pas me lever.
Donc, quand j'ai pensé à créer une application récente qui utilise WebSocket comme ça, Naturellement, mongodb sera choisi comme une option DB avec un tel élan. yep.
Donc, celui que mongodb fera en se référant à l 'Exemple d'application de meinheld WebSocketMiddleware à flask etc. écrit par l'auteur de meinheld lui-même. Je me demande si ce sera comme ça quand j'essaierai de construire
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))
$ (venv) bin/python main.py
Les gens Les gens Les gens Les gens Les gens
Erreur soudaine <  ̄Y^Y^Y^Y^Y^Y^Y ̄
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
Je ne sais pas de quoi tu parles. Je me suis demandé si l'hôte autour du port était étrange Soudain, j'ai changé la mise en œuvre comme suit et cela a fonctionné.
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 après connexion à db
from meinheld import server, middleware
server.listen(("0.0.0.0", 3000))
server.run(middleware.WebSocketMiddleware(app))
C'est une chose naturelle pour les mohikan qui s'amusent avec ça! C'est peut-être quelque chose comme ça
Je ne suis pas du tout sorti quand j'ai cherché sur Google
Je pense qu'il y a plus de gens qui utilisent node.js lorsqu'ils font WebSocket, donc je pense que c'est le cas,
Pour le moment, cela a fonctionné avec ça, donc je suis content
Est-il préférable de remplacer connecetDB
par quelque chose comme avec
?
Recommended Posts