import logging import traceback import signal import sys from flask import Flask from flask_cors import CORS from flask_restful import Api import lib.api.util.CONFIG as CONFIG import lib.api.util.LogWrapper as LogWrapper from lib.api.endpoints.VectorStoreAPI import VectorStoreAPI from lib.api.endpoints.MappingAPI import MappingAPI lv_logger = logging.getLogger(__name__) def fn_signal_handler(sig, frame): print('Flask server shutting down...') sys.exit(0) def start_rest_app(): LogWrapper.fn_start_logging() try: lv_app = Flask(__name__) CORS(lv_app) lv_api = Api(lv_app) # Service to Create Vector Store lv_api.add_resource( VectorStoreAPI, '/api/create/vectordb' ) # Service to Map Source to Target lv_api.add_resource( MappingAPI, '/api/create/mapping' ) signal.signal(signal.SIGTERM, fn_signal_handler) signal.signal(signal.SIGINT, fn_signal_handler) lv_app.run( use_reloader=True, host='0.0.0.0', port=int(CONFIG.SERVER_PORT), debug=True ) lv_logger.info("Running FlaskServer") except Exception as e: lv_logger.error(e) lv_logger.error(traceback.format_exc()) lv_logger.error("Unable to start FlaskServer") return None