def initialize(app=None, domain=None): # logging Log.init() # flask if not app: app = flask.Flask(__name__) if not domain: domain = os.getenv(CONST.ENV_LIGHT_APP_DOMAIN) # cache db = Cache(domain).init() # rider Rider.instance() # TODO: job Schedule().start() # setup flask eio = setup_flask(app, db) # If you set the environment variable websocket to off, then eio = null if eio: return engineio.Middleware(eio, app) return app
def test_legacy_middleware_class(self): m = engineio.Middleware('eio', 'wsgi', 'eio_path') assert m.engineio_app == 'eio' assert m.wsgi_app == 'wsgi' assert m.static_files == {} assert m.engineio_path == 'eio_path'
def test_legacy_middleware_class(self): m = engineio.Middleware('eio', 'wsgi', 'eio_path') self.assertEqual(m.engineio_app, 'eio') self.assertEqual(m.wsgi_app, 'wsgi') self.assertEqual(m.static_files, {}) self.assertEqual(m.engineio_path, 'eio_path')
from flask import Flask, render_template import engineio # set async_mode to 'threading', 'eventlet' or 'gevent' to force a mode async_mode = None eio = engineio.Server(async_mode=async_mode) app = Flask(__name__) app.wsgi_app = engineio.Middleware(eio, app.wsgi_app) @app.route('/') def index(): return render_template('latency.html') @eio.on('message') def message(sid, data): eio.send(sid, 'pong', binary=False) if __name__ == '__main__': if eio.async_mode == 'threading': # deploy with Werkzeug app.run(threaded=True) elif eio.async_mode == 'eventlet': # deploy with eventlet import eventlet from eventlet import wsgi wsgi.server(eventlet.listen(('', 5000)), app)
import engineio from gevent import pywsgi import logging logging.basicConfig(level=logging.DEBUG) eio = engineio.Server() @eio.on('message') def message(sid, msg): eio.send(sid, "Server received: %s" % msg) app = engineio.Middleware(eio) pywsgi.WSGIServer(('', 8000), app).serve_forever()