giesAIexperiments/makerlab-bot
0
1from flask import Flask, render_template2from flask_executor import Executor3from flask_socketio import SocketIO, emit4from flask_cors import cross_origin, CORS5from main import run6from gevent import monkey7import traceback8 9monkey.patch_all(ssl=False)10app = Flask(__name__)11app.config['SECRET_KEY'] = 'secret!'12socketio = SocketIO(app, cors_allowed_origins="*", async_mode='gevent', logger=True)13cors = CORS(app)14 15executor = Executor(app)16 17executor.init_app(app)18app.config['EXECUTOR_MAX_WORKERS'] = 1019 20@app.route('/')21def index():22 return render_template('index.html')23 24 25@socketio.on('message')26def handle_message(data):27 question = data['question']28 print("question: " + question)29 30 if executor.futures:31 emit('response', {'response': 'Server is busy, please try again later'})32 return33 34 try:35 future = executor.submit(run, question)36 response = future.result()37 emit('response', {'response': response})38 except Exception as e:39 traceback.print_exc()40 emit('response', {'response': 'Server is busy. Please try again later.'})41 42if __name__ == '__main__':43 socketio.run(app, host="0.0.0.0", port=7860)44 