Hardcode profile_ids di worker gagal saat agency scale 100+ akun Shopee, TikTok Shop, atau Tokopedia. Profile pool mengelola set profile per tier (prod, warm, burn) di Redis — worker pop profile yang cocok, bukan assign tetap.

Arsitektur

CMDB (Postgres/Notion) → sync → Redis SET mlx:pool:prod
Health cron           → probe start/stop → demote failed
Worker                → SPOP atau SRANDMEMBER + lease
Ban signal            → SMOVE prod → burn

Redis keys

KeyTypeTujuan
mlx:pool:prodSETProfile siap job production
mlx:pool:warmSETSedang warm trust / cookie
mlx:pool:burnSETBan atau forensics — jangan route job
mlx:profile:meta:{uuid}HASHgeo, platform, client_id, last_probe

Pilih profile 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 SEA: satu profile per marketplace — SEA CMDB (ID) · SEA CMDB (EN).

Health probe

Burn tier

Saat ban signal: SMOVE prod burn, pause routing untuk UUID itu. Lihat Ban recovery (ID).

Detail lengkap: versi Inggris.

Terkaait

Pengungkapan: MLX-MMO afiliasi dengan Multilogin. 70+ panduan EN tersedia.