.claude/skills/concurrency-engine/SKILL.md
Xử lý đa luồng/đồng thời cho 100+ request cùng lúc. Browser Pool + Async Queue + Worker pattern. Không xử lý lần lượt — phải parallel. Kích hoạt khi user cần xử lý nhiều request đồng thời hoặc tối ưu hiệu suất.
npx skillsauth add nguynbon03/API-XuongMedia-Backup concurrency-engineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
100 user gọi API cùng lúc? Không được xử lý lần lượt. Phải parallel.
Browser automation chậm (mỗi task 1-5 phút). Nếu xử lý tuần tự:
100 request đồng thời
↓
FastAPI nhận hết → tạo job_id → trả về NGAY
↓
Redis Queue (hàng đợi)
↓
N Workers song song (mỗi worker = 1 browser + 1 account)
├── Worker 1: account_A + proxy_A → xử lý job_1
├── Worker 2: account_B + proxy_B → xử lý job_2
├── Worker 3: account_C + proxy_C → xử lý job_3
└── ... (N workers = N accounts active)
↓
Xong → lưu kết quả → client polling hoặc webhook
┌─────────────┐ ┌──────────┐ ┌─────────────────┐
│ FastAPI │────▶│ Redis │────▶│ Worker Pool │
│ (nhận req) │ │ Queue │ │ ├── Worker 1 │
│ port 8000 │ │ port │ │ ├── Worker 2 │
└─────────────┘ │ 6379 │ │ ├── Worker 3 │
│ └──────────┘ │ └── Worker N │
│ └────────┬────────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────────┐
│ Job Status │◀───────────────── │ Browser Pool │
│ (Redis) │ │ (Playwright) │
└─────────────┘ └─────────────────┘
| Thành phần | Vai trò | Thư viện | |-----------|---------|----------| | FastAPI | Nhận request, tạo job, trả job_id ngay | fastapi, uvicorn | | Redis Queue | Hàng đợi task, FIFO hoặc priority | redis, rq hoặc celery | | Worker Pool | N process chạy song song, mỗi worker 1 browser | multiprocessing hoặc celery | | Browser Pool | Pool browser đã đăng nhập sẵn, tái sử dụng | playwright | | Job Status Store | Lưu trạng thái job để client polling | redis |
Code mẫu:
references/browser-pool.py — Pool browser đã đăng nhập, tái sử dụng, không tạo mới mỗi lầnreferences/async-queue.py — Redis queue + worker patternreferences/fastapi-concurrent.py — FastAPI nhận request, đẩy vào queue, trả job_id ngay| Số account | Số worker | Request đồng thời | Thời gian 100 job (3 phút/job) | |-----------|-----------|-------------------|-------------------------------| | 5 | 5 | 5 | 60 phút | | 10 | 10 | 10 | 30 phút | | 20 | 20 | 20 | 15 phút | | 50 | 50 | 50 | 6 phút |
→ Số worker = số account active. Càng nhiều account → càng nhanh.
| Cần | Skill |
|-----|-------|
| Quản lý account cho workers | account-pool-manager |
| API chuẩn cho endpoint | rest-api-standard |
| Anti-detect cho browser | stealth-manager |
| Lập lịch batch job | task-scheduler |
development
Crawl website và trích xuất dữ liệu có cấu trúc bằng BeautifulSoup, Scrapy, Playwright. Hỗ trợ cả trang tĩnh và trang động (JS-rendered). Kích hoạt khi user cần lấy dữ liệu từ website bất kỳ.
tools
Upload video tự động lên TikTok, YouTube, Facebook, Instagram bằng browser automation (Playwright). Vì các nền tảng này không có public API cho upload, phải dùng browser automation. Kích hoạt khi user cần upload video lên bất kỳ nền tảng nào.
development
Xử lý video bằng Python — cắt ghép, thêm nhạc nền, phụ đề, watermark, resize, chuyển định dạng, render hàng loạt. Dùng ffmpeg-python và moviepy. Kích hoạt khi user cần xử lý video bất kỳ cách nào.
tools
Lập lịch chạy task tự động — cron job, xử lý hàng đợi, lập lịch hàng loạt. Dùng APScheduler, Celery, hoặc crontab. Kích hoạt khi user cần chạy task định kỳ hoặc xử lý hàng loạt theo lịch.