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.1.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.1-py3-none-any.whl
(63.3 kB
view details)
File details
Details for the file mp_hfs-3.0.1.tar.gz.
File metadata
- Download URL: mp_hfs-3.0.1.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 |
af643b2893ed5d425602ce6527f0325db8f5609d7d266f520048ea39a9f43cfb
|
|
| MD5 |
739b5f46e6e80775e5688087b2ad5a93
|
|
| BLAKE2b-256 |
1e152a5e6a8fb2195e2a7e1944c7eab4f2a11c293d5d5fb687f476edc59bb3c4
|
File details
Details for the file mp_hfs-3.0.1-py3-none-any.whl.
File metadata
- Download URL: mp_hfs-3.0.1-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 |
930ce6ff689914b4499b86a735bbf43a1297ddfbcefe9a9e1b751ef0d7363aad
|
|
| MD5 |
de6ed08d33f1d42570571cf78f7b3e76
|
|
| BLAKE2b-256 |
3a3ffd549cf64dd47b28e4b3821ad1027de2628e8c58e3775dafa666c4d130d4
|