HuggingFace Space Worker 分布式调度系统
Project description
HFS v3 - SET 索引优化版本
基于 v2 的优化版本,主要改进:
优化内容
1. SET 索引优化
- 新增
hfs:project:{proj}:spaces:activeSET 索引 - 新增
hfs:account:{user}:spaces:activeSET 索引 - Lua 脚本原子维护 SET(bind/transition)
get_account_space_count从 O(S) 降到 O(1)
2. Admin CLI Pipeline 优化
space list/account list使用 Pipeline 批量获取- 减少网络往返,提升响应速度
3. 性能提升
select_account: 26s → 3sspace list(db6): 18s → 14s- 支持 Space 数量: ~100 → 10000+
目录结构
v3/
├── hfs/ # 核心代码
│ ├── state.py # SET 索引 Lua 脚本
│ ├── account.py # O(1) 账号查询
│ ├── admin/ # CLI 命令
│ └── ...
├── tools/ # 实用工具
│ ├── view_space_logs.py # 查看 HF 原生日志
│ ├── chaos_test.py # 混沌测试
│ └── multi_project_test.py # 多项目测试
├── publish-tools/ # 发布脚本
└── docs/ # 文档
使用
环境配置
# v3 使用独立的 Redis db
export HFS_REDIS_URL="redis://...../7" # db7
迁移 SET 索引
# 首次部署需要构建 SET 索引
python tools/migrate.py --redis-url $HFS_REDIS_URL set-index
# 验证一致性
python tools/migrate.py --redis-url $HFS_REDIS_URL verify
运行测试
# 混沌测试
python tools/chaos_test.py
# 多项目测试
python tools/multi_project_test.py
与 v2 的区别
| 特性 | v2 | v3 |
|---|---|---|
| Redis DB | db6 | db7 |
| 账号查询 | O(S) scan | O(1) SET |
| CLI 性能 | 逐个 GET | Pipeline |
| 数据结构 | 无索引 | SET 索引 |
发布
# Git 发布
cd publish-tools && ./publish-git.sh hfs-v3 v0.1.0
# PyPI 发布
./publish-obfuscated.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mp_hfs-3.0.0.tar.gz
(52.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
mp_hfs-3.0.0-py3-none-any.whl
(63.3 kB
view details)
File details
Details for the file mp_hfs-3.0.0.tar.gz.
File metadata
- Download URL: mp_hfs-3.0.0.tar.gz
- Upload date:
- Size: 52.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
076c02c1cfc2e2acbf3e58cf6b928b71d73dd9fa84ee63693a191d954bcb59cc
|
|
| MD5 |
10e70e9c2ae42e22e02d3ed7e99d11aa
|
|
| BLAKE2b-256 |
70e90eee25b59bfc7a70e2f0aa4a99ace1d8698758f7ca7af1199f8c2ca43beb
|
File details
Details for the file mp_hfs-3.0.0-py3-none-any.whl.
File metadata
- Download URL: mp_hfs-3.0.0-py3-none-any.whl
- Upload date:
- Size: 63.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cc55b0aeeb72e6f96622c89e4386435a53249ac3e0e98af18fa12a26cb5d096
|
|
| MD5 |
dcdc3ab6254e8e2705f558d3f7cef0b5
|
|
| BLAKE2b-256 |
812f64110b176fb0deea5f207278d5f4aadd21ce4b06ff645abd0d3774ffb3e2
|