config.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import os
  2. import socket
  3. import sys
  4. import loguru
  5. from loguru._logger import Logger
  6. # 是否为生产环境, None 则是调试环境(开发环境)
  7. PRODUCE_ENV = os.environ.get("PRODUCE_ENV", None)
  8. WORK_DIR = os.path.dirname(__file__)
  9. LOG_FILE = os.path.join(WORK_DIR,"log", "1.log")
  10. LOG_DIR = os.path.join(WORK_DIR,"log")
  11. FORMAT = '<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{file}</cyan>:<cyan>{line}</cyan> :<cyan>{function}</cyan> - {message}'
  12. LOG_LEVEL = "DEBUG"
  13. loguru.logger.remove()
  14. # logger.add(sys.stderr, format='<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>')
  15. # loggers = {}
  16. # 用于存储已经添加的处理器(handlers)的信息,以避免重复添加
  17. # def get_or_create_logger(name, stderr_level='DEBUG', logfile_level='DEBUG') ->Logger:
  18. # if name not in loggers:
  19. # # 如果 logger 实例还不存在,则创建一个新的并绑定上下文
  20. # logger = loguru.logger.bind(name=name)
  21. # loggers[name] = logger
  22. # if stderr_level:
  23. # logger.add(sys.stderr, format=FORMAT, level=stderr_level,filter=lambda record: record["extra"].get("name") == name)
  24. # if logfile_level:
  25. # logger.add(os.path.join(LOG_DIR,f"{name}.log"), format=FORMAT, level=logfile_level,filter=lambda record: record["extra"].get("name") == name)
  26. # return loggers[name]
  27. # logger = get_or_create_logger(".")
  28. # logger.info(f"{logger.configure()}")
  29. logger = loguru.logger
  30. logger.add(sys.stderr, format=FORMAT, level="INFO")
  31. logger.add(LOG_FILE, format=FORMAT, level="DEBUG")
  32. logger.debug(f"load config:{ __file__}")
  33. # openssl rand -hex 32
  34. os.environ["SECRET_KEY"]="34581f02dcdbab9dc176d6bb578fb15cc6b8e66159865c14e1fc81cd1d92c2a6"
  35. os.environ["DB_URL"]="postgresql://pg:pg@sv-v:5432/douyin"
  36. os.environ["CLIENT_KEY"] = 'aw6aipmfdtplwtyq'
  37. os.environ["CLIENT_SECRET"] = '53cf3dcd2663629e8a773ab59df0968b'
  38. DOUYIN_OPEN_API="https://open.douyin.com"
  39. CLIENT_KEY= 'aw6aipmfdtplwtyq'
  40. CLIENT_SECRET = os.environ["CLIENT_SECRET"]
  41. # HOST = socket.gethostbyname(socket.gethostname())
  42. # 这个网址 https://open-douyin.magong.site 对应这台服务器的 192.168.1.32:8600 端口,因为这台服务器没有公网ip,所以在本地计算机无法通过 http://192.168.1.32:8600/ 访问到 fastapi 接口,只能通过 https://open-douyin.magong.site/ 访问
  43. HOST = '::'
  44. PORT = 8602 if os.environ.get("USER")=="mrh" else 8601
  45. GRPC_VECTOR_HOST="192.168.2.32"
  46. GRPC_VECTOR_PORT=18600
  47. SECRET_KEY = os.environ.get("SECRET_KEY")
  48. DB_URL=os.environ.get("DB_URL")
  49. GRPC_VECTOR="10.0.0.32:18600"
  50. ASR_ADDRESS = "10.0.0.32:10095"
  51. ASR_EXE = "/home/user/code/open-douyin/bin/funasr_wss_client"
  52. TEMP_DIR = os.path.join(WORK_DIR, "temp")
  53. if not os.path.exists(TEMP_DIR):
  54. os.makedirs(TEMP_DIR)
  55. # 生产环境中绝对不能使用硬编码的 DATA 路径。否则后期负载均衡、数据扩容、迁移将会造成很大影响。
  56. if not PRODUCE_ENV:
  57. MNT_DOUYIN_DATA=f"{TEMP_DIR}/mnt_data"
  58. else:
  59. MNT_DOUYIN_DATA = os.environ["MNT_DOUYIN_DATA"]