容器化改造
This commit is contained in:
parent
62f7416ee6
commit
98fd8ded5f
40
README.md
40
README.md
|
|
@ -33,29 +33,39 @@ akg-factor-bridge:读视图+热度 → 算四路日截面(极性/衰减/打分
|
||||||
| `akg_event` | t_factor_akg_event | Σ 事件极性×时间衰减 | 0(无事件=中性) |
|
| `akg_event` | t_factor_akg_event | Σ 事件极性×时间衰减 | 0(无事件=中性) |
|
||||||
| `akg_transmission` | t_factor_akg_transmission | 路径数×(1−已动比例) | 0 |
|
| `akg_transmission` | t_factor_akg_transmission | 路径数×(1−已动比例) | 0 |
|
||||||
|
|
||||||
## 用法
|
## 用法(全程 Docker,不在宿主机直跑)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 0) 先把基座视图建好(在 astock-kg 的 PG 上执行一次)
|
# 0) 基座视图建一次——经 astock-kg 的 postgres 容器(容器名 akg-postgres,库/用户均 akg)
|
||||||
psql "postgresql://<akg_user>@<akg_host>:5432/akg" -f sql/astock_kg_slot_views.sql
|
docker exec -i akg-postgres psql -U akg -d akg < sql/astock_kg_slot_views.sql
|
||||||
|
|
||||||
# 1) 配置连接
|
# 1) 配连接(地址填「桥容器可达」的:跨机=LAN IP;与基座同机同网=服务名,见下「网络」)
|
||||||
cp .env.example .env && vim .env # 填三处连接 + gp_day_data 代码列
|
cp .env.example .env && vim .env
|
||||||
|
|
||||||
# 2) 连通性自检(四视图 / 热度 / gp_day_data / factor_metadata 行数)
|
# 2) 构建并起桥容器(常驻)
|
||||||
pip install -r requirements.txt
|
docker compose up -d --build
|
||||||
python run.py views
|
|
||||||
|
|
||||||
# 3) 注册四子因子
|
# 3) 连通性自检(六项行数全出 = 三库都通)
|
||||||
python run.py register
|
docker compose exec akg-factor-bridge python run.py views
|
||||||
|
|
||||||
# 4) 历史回填 / 每日增量(幂等,可重跑)
|
# 4) 注册 + 跑因子(幂等,可重跑)
|
||||||
python run.py build all --mode history --start 2024-01-01 --end 2026-07-24
|
docker compose exec akg-factor-bridge python run.py register
|
||||||
python run.py build all --mode daily --date 2026-07-24
|
docker compose exec akg-factor-bridge python run.py build akg_heat --mode daily --date 2026-07-24
|
||||||
|
docker compose exec akg-factor-bridge python run.py build all --mode history --start 2024-01-01 --end 2026-07-24
|
||||||
```
|
```
|
||||||
|
|
||||||
容器化:`docker compose up -d`(常驻),宿主 cron/平台 XXL-JOB 以
|
生产触发:宿主 cron 或平台 XXL-JOB →
|
||||||
`docker exec akg_factor_bridge python run.py build all --mode daily` 触发。
|
`docker exec akg_factor_bridge python run.py build all --mode daily`。
|
||||||
|
|
||||||
|
## 网络(Docker)
|
||||||
|
|
||||||
|
桥要连三处,按「桥部署在哪」定地址:
|
||||||
|
|
||||||
|
- **跨机部署(默认,推荐——就是你要的「可部署到其他服务器」)**:三处都用 LAN IP/域名
|
||||||
|
(`.env` 里填)。默认 bridge 网络即可出网到 LAN——前提是基座 PG、153、平台 MySQL 都对该
|
||||||
|
服务器可达(基座 PG 需发布端口或处于可达网络;见设计文档 §8-1)。
|
||||||
|
- **与基座同机同网**:让桥加入 astock-kg 的 compose 网络,用服务名 `postgres` 连基座 PG
|
||||||
|
(取消 `docker-compose.yml` 里 networks 段的注释,填 astock-kg 的网络名)。
|
||||||
|
|
||||||
## ⚠️ 待实机核实项(本工程 DB 细节以线上为准,跑不通按此排查)
|
## ⚠️ 待实机核实项(本工程 DB 细节以线上为准,跑不通按此排查)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,15 @@ services:
|
||||||
env_file: .env
|
env_file: .env
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: sleep infinity
|
command: sleep infinity
|
||||||
|
# 跨机部署(默认):.env 三处用 LAN IP,默认 bridge 网络出网到 LAN 即可。
|
||||||
|
# 与 astock-kg 同机同网时,改用服务名连基座 PG——取消下面两行注释并填网络名:
|
||||||
|
# networks: [default, akg_net]
|
||||||
# 触发示例(宿主 crontab,每日 18:40):
|
# 触发示例(宿主 crontab,每日 18:40):
|
||||||
# 40 18 * * 1-5 docker exec akg_factor_bridge python run.py build all --mode daily
|
# 40 18 * * 1-5 docker exec akg_factor_bridge python run.py build all --mode daily
|
||||||
|
|
||||||
|
# 同机同网方案才需要:把 astock-kg 的 compose 网络作为 external 引入
|
||||||
|
# networks:
|
||||||
|
# akg_net:
|
||||||
|
# external: true
|
||||||
|
# name: <astock-kg 的网络名,用 `docker network ls` 查,通常形如 astock-kg_default>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue