1.9 KiB
1.9 KiB
Qlib Bootstrap Runbook (ljwx-stock)
Scope
- Service:
ljwx-stock-qlib-bootstrap - Namespace:
ljwx-stock - Deploy source:
apps/stock-etl/overlays/ljwx-stock
Runtime Manifests
- Weekly CronJob:
apps/stock-etl/base/cronjob-qlib-bootstrap-weekly.yaml - Manual Job template:
apps/stock-etl/base/job-qlib-bootstrap.yaml - Predict CronJob (consumer):
apps/stock-etl/base/cronjob-qlib-predict-to-pg.yaml - MinIO secret:
apps/stock-etl/base/secret-qlib-minio.yaml
Preconditions
market.kline_dailyexists and hasadjust='qfq'rows.- Secret
qlib-minio-secretis present with valid keys:MINIO_ENDPOINTMINIO_BUCKETMINIO_ACCESS_KEYMINIO_SECRET_KEY
- PVC
qlib-pvcis Bound.
Trigger Manual Bootstrap
kubectl -n ljwx-stock create job --from=job/qlib-bootstrap-manual qlib-bootstrap-manual-$(date +%Y%m%d%H%M%S)
Check status:
kubectl -n ljwx-stock get jobs | grep qlib-bootstrap-manual
kubectl -n ljwx-stock logs job/<job-name>
Success Criteria
- Job exits
Completed. - Logs include preflight/export/dump/train/publish success path.
- MinIO has both latest pointers:
qlib_data/cn/LATESTartifacts/models/qlib_lightgbm_alpha158/LATEST
- Predict CronJob can run and write to
market.reco_daily.
Common Failures
market.kline_daily not found- Cause: ETL schema/data not ready.
- Action: complete ETL migration/ingest first.
no qfq data- Cause: no qfq-adjusted rows.
- Action: verify ETL ingest mode and source quality.
- MinIO auth or bucket errors
- Cause: invalid secret values.
- Action: rotate/update
qlib-minio-secret.
Rollback
If new model/data is bad, repoint MinIO LATEST to previous known good date, then rerun predict CronJob:
- set
qlib_data/cn/LATESTto previous build date - set
artifacts/models/qlib_lightgbm_alpha158/LATESTto previous model date - trigger predict run and verify
reco_daily