我实际上尝试基于uwsgi设置一个瓶子python应用程序。我需要uwsgi来支持websocket。
我的基本代码看起来像这样: (webserver.py)
INSERT INTO TAGS_TO_RESOURCES(resource_id, tag_id)
SELECT RESOURCES.id, TAGS.id
FROM RESOURCES
INNER JOIN TAGS
ON INSTR(CONCAT(',', RESOURCES.RES.tags, ','), CONCAT(',', TAGS.tag, ','))> 0
我只是通过以下方式启动此文件:
from bottle import route, run, static_file, error, template
import uwsgi
import bottle
from bottle import route, template
app = application = bottle.default_app()
@route('/')
def index():
uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'], env('HTTP_ORIGIN', ''))
while True:
msg = uwsgi.websocket_recv()
uwsgi.websocket_send(msg)
return template('inputs', name='inputs')
@route('/static/<filepath:path>')
def server_static(filepath):
return static_file(filepath, root='./static/')
我的错误消息如下:
uwsgi --http-socket :80 --http-websockets --wsgi-file webserver.py
websocket握手需要env vars,但我不知道它是什么以及如何将它们实现到我的代码中。
编辑:我已经尝试通过
导入env...
uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'], env('HTTP_ORIGIN', ''))
NameError: global name 'env' is not defined
...
但它并没有解决问题。