How A 2 GB Server Shaped My Pricing For Digital Kits Sold To Buyers On Three Platforms
Описание и применение
Автор создал автоматизированный пайплайн для цифровых наборов, оптимизировав память и обеспечив идемпотентность загрузок, что позволило продавать на трёх платформах с низкой ценой.
Задача
The author’s 2 GB RAM, 1 vCPU server crashed during parallel render jobs, leaving uncertainty about which assets had uploaded and causing a costly rebuild of the pipeline.
Результат
The pipeline now reliably produces 39 finished products from a 2 GB server, with automated metadata, idempotent uploads, and packaging, allowing the author to list on three platforms at a low price while maintaining margin.
Рабочий процесс
- 1. Render assets sequentially with memory limits, using subprocesses for heavy steps.
- 2. Generate platform‑specific CSV metadata with make_metadata.py.
- 3. Upload assets with upload_tracker.py to avoid duplicates.
- 4. Package final zip, cover, thumbnail, and PDF docs with pack_product.py and md2pdf.py.
- 5. Organize files in assets/, output/, packs/, research/, scripts/ folders.
Доказательства
I had queued 40 render jobs in parallel because parallel felt faster. Python ate the memory, the OS started swapping, and the whole box froze mid-job.
The biggest win was dumb: inspect previews at 60 dpi instead of rendering at 300. Same decisions, a fraction of the memory.
I wrote make_metadata.py to emit exactly the header each platform demands and nothing else, because every "helpful" extra column I added was a rejection waiting to happen.
The fix was embarrassingly simple: upload_tracker.py, a plain ledger with pending, done, and status commands that remembers what shipped.
Two dependencies total for the whole kit. The metadata and tracker scripts use the standard library alone, so they run on the cheapest VPS you can rent with no install step at all.
- Дата записи: 2026-10-19T03:41:19.914Z