OpenAPI English gyrohosting.com ↗
Markdown olarak görClaude'da aç ↗

Tek seferlik görev ve migration

Veritabanı migration ya da seed'i bir servisin imajı, değişkenleri ve gizli değerleriyle bir kez çalıştırın; her pipeline dağıtımından önce kendiliğinden çalıştırın.

curl -s -X POST https://www.gyrohosting.com/api/v1/client/cloud/containers/12345/services/api/run \
  -H "Authorization: Bearer $GYRO_TOKEN" -H "Content-Type: application/json" -H "Idempotency-Key: $(uuidgen)" \
  -d '{"command":["npm","run","migrate"],"timeout_seconds":900}'
curl -s https://www.gyrohosting.com/api/v1/client/cloud/containers/12345/jobs/jt0abc12def3/logs -H "Authorization: Bearer $GYRO_TOKEN"
gyro container run 12345 --service api --follow -- npm run migrate
gyro container jobs 12345
gyro container job logs 12345 jt0abc12def3

Görev, servisin çalışan sürümünün digest'e sabitlenmiş imajını, değişkenlerini ve gizli değerlerini kullanır (gizli değerler çıktıda **** görünür). Komut imajın ENTRYPOINT'inin yerine geçer ve listedir: ["sh","-c","a && b"] yazmadıkça kabuk yoktur. Port ve sağlık kontrolü yok; başarısız görev tekrar denenmez. Varsayılan boyut servisinki, zaman sınırı 30 dakika (10 sn - 6 saat). CLI --wait / --follow ile görevin çıkış koduyla biter (124 = zaman sınırı).

Her dağıtımdan önce (Gyro Pipeline)#

# gyro-pipeline.yml
image: api
deploy:
  services: [api]
  release: ["npm", "run", "migrate"]   # YENİ imajla, dağıtımdan önce çalışır

Çalıştırma releasing durumunda bekler; görev başarısız olursa dağıtım yapılmaz, çalışan sürüm kalır (hata release_failed). Ortam başına eşzamanlı görev: Sunucusuz ve 2 vCPU'ya kadar paketlerde 2, diğerlerinde 3 (destek talebiyle artırılır). Düğümlü paketlerde ücretsiz; Sunucusuz'da görev (task) gibi vCPU-saniye / GB-saniye ile ücretlenir (satır <servis>-job). Başarısız görev job_failed uyarısını tetikler.