113 lines
2.3 KiB
Markdown
113 lines
2.3 KiB
Markdown
# Python服务配置说明
|
||
|
||
## 配置文件结构
|
||
|
||
Python服务现在使用与Go服务相同的配置文件结构:
|
||
|
||
```
|
||
backend/
|
||
├── config.dev.yaml # 开发环境配置
|
||
├── config.prod.yaml # 生产环境配置
|
||
├── config.py # 配置加载模块
|
||
├── .env.example # 环境变量示例
|
||
└── .env # 环境变量(需手动创建,Git忽略)
|
||
```
|
||
|
||
## 环境切换
|
||
|
||
通过设置 `ENV` 环境变量来切换环境:
|
||
|
||
### Windows (CMD)
|
||
```bash
|
||
set ENV=dev
|
||
python main.py
|
||
```
|
||
|
||
### Windows (PowerShell)
|
||
```powershell
|
||
$env:ENV="dev"
|
||
python main.py
|
||
```
|
||
|
||
### Linux/Mac
|
||
```bash
|
||
ENV=dev python main.py
|
||
```
|
||
|
||
或者在 `.env` 文件中设置:
|
||
```
|
||
ENV=dev
|
||
```
|
||
|
||
## 配置优先级
|
||
|
||
1. **环境变量** - 最高优先级
|
||
2. **配置文件** - config.{ENV}.yaml
|
||
3. **代码默认值** - 最低优先级
|
||
|
||
## 配置项说明
|
||
|
||
### 开发环境 (config.dev.yaml)
|
||
|
||
- **数据库**: 本地MySQL (localhost:3306)
|
||
- **调度器**: 启用,每5秒执行一次(测试用)
|
||
- **日志级别**: DEBUG
|
||
|
||
### 生产环境 (config.prod.yaml)
|
||
|
||
- **数据库**: 远程MySQL (8.149.233.36:3306)
|
||
- **调度器**: 启用,每5分钟执行一次
|
||
- **日志级别**: INFO
|
||
|
||
## 使用示例
|
||
|
||
### 1. 开发环境
|
||
|
||
创建 `.env` 文件:
|
||
```bash
|
||
ENV=dev
|
||
```
|
||
|
||
启动服务:
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 2. 生产环境
|
||
|
||
创建 `.env` 文件:
|
||
```bash
|
||
ENV=prod
|
||
```
|
||
|
||
启动服务:
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 3. 覆盖配置
|
||
|
||
如需临时修改某些配置,可在 `.env` 中添加:
|
||
```bash
|
||
ENV=dev
|
||
DB_HOST=192.168.1.100
|
||
SCHEDULER_CRON=0 */10 * * * *
|
||
```
|
||
|
||
## 与Go服务的配置对应关系
|
||
|
||
| Python配置 | Go配置 | 说明 |
|
||
|-----------|--------|------|
|
||
| config.dev.yaml | config/config.dev.yaml | 开发环境配置 |
|
||
| config.prod.yaml | config/config.prod.yaml | 生产环境配置 |
|
||
| ENV环境变量 | ENV环境变量 | 环境切换 |
|
||
| database.username | database.username | 数据库用户名 |
|
||
| database.dbname | database.dbname | 数据库名称 |
|
||
|
||
## 注意事项
|
||
|
||
1. **密码安全**: 生产环境请修改 `config.prod.yaml` 中的数据库密码
|
||
2. **Git忽略**: `.env` 文件已被Git忽略,不会提交到代码库
|
||
3. **环境变量**: 环境变量会覆盖配置文件中的同名配置
|
||
4. **调度器频率**: 开发环境默认5秒执行一次,生产环境默认5分钟执行一次
|