本项目使用GitHub Actions来自动化市值数据的获取和缓存更新,避免频繁请求导致IP被封禁。
触发条件:
- 每周一早上6点(UTC时间)自动执行,即北京时间周一下午14:00
- 每天早上2点(UTC时间)检查缓存是否需要更新,即北京时间上午10:00
- 支持手动触发
执行流程:
- 检查缓存有效性
- 如果缓存过期或手动触发,则更新市值数据
- 如果有数据变更,自动提交到仓库
- 显示更新结果摘要
触发条件:
- 完全手动触发
可配置参数:
force_update: 强制更新缓存,忽略缓存有效期datasource: 选择数据源(baostock/akshare/tushare)
执行流程:
- 显示当前缓存状态
- 根据参数设置数据源和更新策略
- 执行数据更新
- 显示更新后状态
- 提交变更(如有)
无需手动操作,GitHub Actions会按计划自动运行。
- 进入GitHub仓库
- 点击 Actions 标签
- 选择 "Manual Market Data Update"
- 点击 "Run workflow"
- 配置更新参数
- 点击 "Run workflow" 执行
- 避免IP封禁: 通过GitHub Actions的服务器执行请求,避免本地IP被封
- 定期更新: 每周自动更新一次,保证数据新鲜度
- 灵活性: 支持手动触发和参数配置
- 版本控制: 数据变更自动提交,便于追踪历史
- 无需本地运行: 不需要本地服务器24小时运行
- 缓存有效期: 7天
- 存储位置:
cache/目录 - 元数据文件: 记录更新时间、数据源、记录数等信息
- 兼容性: 支持本地和GitHub Actions环境
- GitHub Actions有使用限制,免费账户每月2000分钟
- 网络请求可能偶尔失败,设计了多数据源fallback机制
- 缓存文件会自动提交到仓库,注意仓库大小
- 可以通过修改YAML文件调整执行频率