modify: 文档补充 Plugin 基类自动建库用法
This commit is contained in:
@@ -80,18 +80,34 @@ finally:
|
|||||||
|
|
||||||
### 插件中的典型用法
|
### 插件中的典型用法
|
||||||
|
|
||||||
|
推荐通过 `Plugin` 基类自动建库(`db_name` 指定文件名,`data_dir` 取自运行时配置),
|
||||||
|
`on_init` 中即可拿到 `self.db`:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
# src/plugins/<name>/__init__.py
|
# src/plugins/<name>/__init__.py
|
||||||
|
from chongming_worker.plugin import Plugin
|
||||||
|
|
||||||
|
class MyPlugin(Plugin):
|
||||||
|
type = "<name>"
|
||||||
|
db_name = "<name>.db" # 基类自动在 data_dir 下建库并建表
|
||||||
|
|
||||||
|
async def on_init(self):
|
||||||
|
db = self.db # 已由基类 init_database() 初始化
|
||||||
|
self.set_var("db", db) # 发布到 global_var 供业务代码读取
|
||||||
|
...
|
||||||
|
|
||||||
|
# cleanup 时基类自动 dispose(无需手写)
|
||||||
|
```
|
||||||
|
|
||||||
|
不依赖基类时也可手动使用:
|
||||||
|
|
||||||
|
```python
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from chongming_database import Database
|
from chongming_database import Database
|
||||||
from .global_var import set_db
|
|
||||||
|
|
||||||
async def create_workers(session, config, count, worker_manager):
|
db_path = Path(config.get("data_dir", "./data")) / "<name>.db"
|
||||||
db_path = Path(config.get("data_dir", "./data")) / "<name>.db"
|
db = Database(db_path)
|
||||||
db = Database(db_path)
|
await db.initialize()
|
||||||
await db.initialize()
|
|
||||||
set_db(db)
|
|
||||||
...
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user