Quickstarty
Quickstart: Workers
Wdróż kontener z szablonu galerii i uruchom zadanie.
Workers uruchamiają ciężkie lub długie obciążenia (Python, Node, Go, Dockerfile) w izolowanych kontenerach.
Zmienne w przykładach: $HOSTBASE_TOKEN (token dostępu), $REF (ref projektu). SDK: @hostbase/management (TypeScript) i hostbase_management (Python), pełne API: /docs/api.
1. Wdróż z szablonu
Galeria ma ponad 30 szablonów.
curl -X POST https://host.ulewicz.space/api/v1/projects/$REF/workers/from-template -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" \
-d '{"template":"hono-bun-api","name":"api"}'await hb.deployWorkerFromTemplate({ ref, body: { template: "hono-bun-api", name: "api" } });hb.deploy_worker_from_template(ref=ref, body={"template": "hono-bun-api", "name": "api"})hostbase workers templates
hostbase workers deploy-template hono-bun-api --name api2. Skalowanie
Scale-to-zero i autoskalowanie w granicach min/max.
curl -X PUT https://host.ulewicz.space/api/v1/projects/$REF/workers/api/scaling -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"min":0,"max":3,"auto":true}'await hb.setWorkerScaling({ ref, name: "api", body: { min: 0, max: 3, auto: true } });hb.set_worker_scaling(ref=ref, name="api", body={"min": 0, "max": 3, "auto": True})3. Zadanie jednorazowe
Ten sam obraz, własna komenda i limit czasu.
curl -X POST https://host.ulewicz.space/api/v1/projects/$REF/workers/api/jobs -H "Authorization: Bearer $HOSTBASE_TOKEN" -H "Content-Type: application/json" -d '{"command":"bun","args":["run","report.ts"],"timeout_s":600}'const job = await hb.runWorkerJob({ ref, name: "api", body: { command: "bun", args: ["run", "report.ts"], timeout_s: 600 } as never });hb.run_worker_job(ref=ref, name="api", body={"command": "bun", "args": ["run", "report.ts"], "timeout_s": 600})Dalej: /docs/workers.