Ai
1 Star 1 Fork 0

pankla/fastapi_tm_celery

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
config.py 912 Bytes
一键复制 编辑 原始数据 按行查看 历史
pankla 提交于 2022-02-18 17:16 +08:00 . init
__all__ = [
'BASE_DIR',
'Config',
'LogConfig',
'RedisConfig',
'MQConfig'
]
import os
from pathlib import Path
from functools import lru_cache
import pytomlpp
from pydantic import BaseModel
from conf.settings import (
LogSetting, RedisSetting, MQSetting
)
BASE_DIR = Path(__file__).absolute().parent
class Setting(BaseModel):
log: LogSetting
redis: RedisSetting
mq: MQSetting
@lru_cache()
def get_settings() -> Setting:
code_env = os.environ.get('CODE_ENV', 'prd')
if code_env == 'test':
p = Path(BASE_DIR).joinpath('conf/test.local.toml')
else:
p = Path(BASE_DIR).joinpath('conf/product.local.toml')
if not p.is_file():
raise Exception('config no exists')
settings = Setting.parse_obj(pytomlpp.load(p))
return settings
Config = get_settings()
LogConfig = Config.log
RedisConfig = Config.redis
MQConfig = Config.mq
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/pankla/fastapi_tm_celery.git
git@gitee.com:pankla/fastapi_tm_celery.git
pankla
fastapi_tm_celery
fastapi_tm_celery
master

搜索帮助