python - flask-socketio 啟動(dòng)服務(wù)方式
問題描述
使用 flask-socketio 在網(wǎng)頁(yè)中嵌入了一個(gè)聊天室,啟動(dòng)服務(wù)使用的是:socketio.run(app)但是之前在沒有寫這個(gè)聊天室的時(shí)候,使用了flask-manager,開啟服務(wù)是:manager.run() 可以方便調(diào)試,同步數(shù)據(jù)庫(kù)。但是現(xiàn)在使用了socketio 就只能用socketio.run(app)啟動(dòng)了嗎?
問題解答
回答1:不用只需要運(yùn)行app.run()你可以直接使用manager.run()測(cè)試一下flask-socketio大概可以使用。但是我一直都沒有找到flask-socketio如何整合到nginx。。
回答2:你可以重載manage.py 中的run()函數(shù):
class Server(_Server): help = description = ’Runs the Socket.IO web server’ def get_options(self):options = ( Option(’-h’, ’--host’, dest=’host’, default=self.host), Option(’-p’, ’--port’, dest=’port’, type=int, default=self.port), Option(’-d’, ’--debug’, action=’store_true’, dest=’use_debugger’, help=(’enable the Werkzeug debugger (DO NOT use in ’ ’production code)’), default=self.use_debugger), Option(’-D’, ’--no-debug’, action=’store_false’, dest=’use_debugger’, help=’disable the Werkzeug debugger’, default=self.use_debugger), Option(’-r’, ’--reload’, action=’store_true’, dest=’use_reloader’, help=(’monitor Python files for changes (not 100%% safe ’ ’for production use)’), default=self.use_reloader), Option(’-R’, ’--no-reload’, action=’store_false’, dest=’use_reloader’, help=’do not monitor Python files for changes’, default=self.use_reloader),)return options def __call__(self, app, host, port, use_debugger, use_reloader):# override the default runserver command to start a Socket.IO serverif use_debugger is None: use_debugger = app.debug if use_debugger is None:use_debugger = Trueif use_reloader is None: use_reloader = app.debugsocketio.run(app, host=host, port=port, debug=use_debugger, use_reloader=use_reloader, **self.server_options)manager.add_command('runserver', Server())
啟動(dòng)方式: python manage.py runserver --host 0.0.0.0 --port 8000 -d -r上述方式只在調(diào)試時(shí)使用,上線還是Gunicorn/uwsgi + nginx 吧。
相關(guān)文章:
1. 老哥們求助啊2. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過段時(shí)間會(huì)消失是什么情況?3. 想找個(gè)php大神仿個(gè)網(wǎng)站。4. pycharm運(yùn)行python3.6突然出現(xiàn)R6034問題,請(qǐng)問如何處理?5. APP上傳到電腦服務(wù)器,出現(xiàn)數(shù)據(jù)上傳不完整的問題6. javascript - 使用百度文本編輯器ueditor不顯示樣式問題7. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?8. 微信支付 - python做微信企業(yè)付款出現(xiàn)CA證書錯(cuò)誤9. mysql - thinkphp5 在MAC電腦本地正常,部署LINUX服務(wù)器之后,模型不存在10. 這是什么情況???
