| 
                        1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
                        - #
 - #  Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
 - #
 - #  Licensed under the Apache License, Version 2.0 (the "License");
 - #  you may not use this file except in compliance with the License.
 - #  You may obtain a copy of the License at
 - #
 - #      http://www.apache.org/licenses/LICENSE-2.0
 - #
 - #  Unless required by applicable law or agreed to in writing, software
 - #  distributed under the License is distributed on an "AS IS" BASIS,
 - #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 - #  See the License for the specific language governing permissions and
 - #  limitations under the License.
 - #
 - # init env. must be the first import
 - 
 - import logging
 - import os
 - import signal
 - import sys
 - import traceback
 - 
 - from werkzeug.serving import run_simple
 - 
 - from api.apps import app
 - from api.db.runtime_config import RuntimeConfig
 - from api.hook import HookManager
 - from api.settings import (
 -     HOST, HTTP_PORT, access_logger, database_logger, stat_logger,
 - )
 - from api import utils
 - 
 - from api.db.db_models import init_database_tables as init_web_db
 - from api.db.init_data import init_web_data
 - from api.versions import get_versions
 - 
 - if __name__ == '__main__':
 -     stat_logger.info(
 -         f'project base: {utils.file_utils.get_project_base_directory()}'
 -     )
 - 
 -     # init db
 -     init_web_db()
 -     init_web_data()
 -     # init runtime config
 -     import argparse
 -     parser = argparse.ArgumentParser()
 -     parser.add_argument('--version', default=False, help="rag flow version", action='store_true')
 -     parser.add_argument('--debug', default=False, help="debug mode", action='store_true')
 -     args = parser.parse_args()
 -     if args.version:
 -         print(get_versions())
 -         sys.exit(0)
 - 
 -     RuntimeConfig.DEBUG = args.debug
 -     if RuntimeConfig.DEBUG:
 -         stat_logger.info("run on debug mode")
 - 
 -     RuntimeConfig.init_env()
 -     RuntimeConfig.init_config(JOB_SERVER_HOST=HOST, HTTP_PORT=HTTP_PORT)
 - 
 -     HookManager.init()
 - 
 -     peewee_logger = logging.getLogger('peewee')
 -     peewee_logger.propagate = False
 -     # rag_arch.common.log.ROpenHandler
 -     peewee_logger.addHandler(database_logger.handlers[0])
 -     peewee_logger.setLevel(database_logger.level)
 - 
 -     # start http server
 -     try:
 -         stat_logger.info("RAG Flow http server start...")
 -         werkzeug_logger = logging.getLogger("werkzeug")
 -         for h in access_logger.handlers:
 -             werkzeug_logger.addHandler(h)
 -         run_simple(hostname=HOST, port=HTTP_PORT, application=app, threaded=True, use_reloader=RuntimeConfig.DEBUG, use_debugger=RuntimeConfig.DEBUG)
 -     except Exception:
 -         traceback.print_exc()
 -         os.kill(os.getpid(), signal.SIGKILL)
 
 
  |