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.2.tar.gz
(53.3 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.2-py3-none-any.whl
(64.2 kB
view details)
File details
Details for the file mp_hfs-3.0.2.tar.gz.
File metadata
- Download URL: mp_hfs-3.0.2.tar.gz
- Upload date:
- Size: 53.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef98cc83cdd18efc8884aaeca35fbf3fd1b885217efa169f02e5ef22337a4f7c
|
|
| MD5 |
da16313416523ecfe815ab3c2d70c901
|
|
| BLAKE2b-256 |
b2035f0c41ec9eb45f64b91e62aeb79e2e35c4cff49be63151170b0f74af2aca
|
File details
Details for the file mp_hfs-3.0.2-py3-none-any.whl.
File metadata
- Download URL: mp_hfs-3.0.2-py3-none-any.whl
- Upload date:
- Size: 64.2 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 |
6d346f59f33cc4d0cc41a0765fa5149fd8bf022035f113a3046ed4aff8033e00
|
|
| MD5 |
ae3b83fbc36794e29b71aa737bb93169
|
|
| BLAKE2b-256 |
58858ad5056d87b0b77605503d1df2cbaf07347c5607c422902f2055383be98d
|