Spaces:
Runtime error
Runtime error
| from flask import Flask, render_template | |
| from flask_executor import Executor | |
| from flask_socketio import SocketIO, emit | |
| from flask_cors import cross_origin, CORS | |
| from main import run | |
| from gevent import monkey | |
| import traceback | |
| monkey.patch_all(ssl=False) | |
| app = Flask(__name__) | |
| app.config['SECRET_KEY'] = 'secret!' | |
| socketio = SocketIO(app, cors_allowed_origins="*", async_mode='gevent', logger=True) | |
| cors = CORS(app) | |
| executor = Executor(app) | |
| executor.init_app(app) | |
| app.config['EXECUTOR_MAX_WORKERS'] = 10 | |
| def index(): | |
| return render_template('index.html') | |
| def handle_message(data): | |
| question = data['question'] | |
| print("question: " + question) | |
| if executor.futures: | |
| emit('response', {'response': 'Server is busy, please try again later'}) | |
| return | |
| try: | |
| future = executor.submit(run, question) | |
| response = future.result() | |
| emit('response', {'response': response}) | |
| except Exception as e: | |
| traceback.print_exc() | |
| emit('response', {'response': 'Server is busy. Please try again later.'}) | |
| if __name__ == '__main__': | |
| socketio.run(app, host="0.0.0.0", port=7860) | |