Hardcode danh sách profile_ids trong worker sẽ vỡ khi agency scale 100+ tài khoản Shopee, TikTok Shop, hoặc Amazon. Profile pool quản lý tập profile theo tier (prod, warm, burn) trong Redis — worker pop profile phù hợp thay vì gán cố định.
Kiến trúc
CMDB (Postgres/Notion) → sync → Redis SET mlx:pool:prod Health cron → probe start/stop → demote failed Worker → SPOP hoặc SRANDMEMBER + lease Ban signal → SMOVE prod → burn
Redis keys
| Key | Type | Mục đích |
|---|---|---|
mlx:pool:prod | SET | Profile sẵn sàng job production |
mlx:pool:warm | SET | Đang nuôi trust / cookie |
mlx:pool:burn | SET | Ban hoặc forensics — không route job |
mlx:profile:meta:{uuid} | HASH | geo, platform, client_id, last_probe |
Chọn profile theo geo/platform
def pick_profile(platform: str, geo: str) -> str | None:
candidates = r.smembers("mlx:pool:prod")
for pid in candidates:
meta = r.hgetall(f"mlx:profile:meta:{pid}")
if meta.get("platform") == platform and meta.get("geo") == geo:
if try_lease(pid, WORKER_ID):
return pid
return None
Cross-listing EU/US: mỗi marketplace một profile — xem EU CMDB (EN) hoặc US CMDB (EN).
Health probe
- Cron mỗi 6h: start profile → CDP ping → stop
- Fail 3 lần liên tiếp →
SMOVE prod warmhoặc alert - Metrics: Redis exporter sidecar (EN) → Grafana
Promote warm → prod
Profile mới cần cooldown (7–14 ngày tùy platform) + manual spot-check trước khi SMOVE warm prod. Không promote hàng loạt cùng lúc — tránh spike fingerprint cluster.
Ban → burn tier
Khi Grafana/Slack báo ban: SMOVE prod burn, pause job routing cho UUID đó. Quy trình: Ban recovery (VI) · Clone forensics (EN).
Liên quan
Công bố: MLX-MMO liên kết affiliate với Multilogin. 70+ hướng dẫn EN miễn phí.