---
title: "Zamanlanmış görev (cron)"
description: "Bir servis komutunu ya da bir adresi takvime bağlayın: her gece, her 15 dakikada ya da tek sefer; kendi saat diliminizde, üst üste binmeden."
url: https://www.gyrohosting.com/developers/tr/howto/container-schedule.html
language: tr
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.36.0
---

# Zamanlanmış görev (cron)

Bir servis komutunu ya da bir adresi takvime bağlayın: her gece, her 15 dakikada ya da tek sefer; kendi saat diliminizde, üst üste binmeden.

**curl**

```bash
# her gece 03:00 İstanbul saatiyle, iki kez tekrar denemeli
curl -s -X POST https://www.gyrohosting.com/api/v1/client/cloud/containers/12345/schedules -H "Authorization: Bearer $GYRO_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"gece-raporu","cron":"0 3 * * *","timezone":"Europe/Istanbul","service":"api","command":["npm","run","report"],"retries":2}'
# kendi adresinizi 15 dakikada bir çağırın (başlıklar gizli saklanır)
curl -s -X POST https://www.gyrohosting.com/api/v1/client/cloud/containers/12345/schedules -H "Authorization: Bearer $GYRO_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"kuyruk","rate_minutes":15,"url":"https://api.example.com/cron","method":"POST","headers":{"Authorization":"Bearer ..."}}'
curl -s https://www.gyrohosting.com/api/v1/client/cloud/containers/12345/schedules/gece-raporu -H "Authorization: Bearer $GYRO_TOKEN"
```

**CLI**

```bash
gyro container schedule create 12345 gece-raporu --cron "0 3 * * *" --service api --retries 2 -- npm run report
gyro container schedule create 12345 kuyruk --every 15m --url https://api.example.com/cron --method POST --header "Authorization: Bearer $TOKEN"
gyro container schedule list 12345
gyro container schedule run-now 12345 gece-raporu
gyro container schedule pause 12345 gece-raporu
```

**Terraform**

```hcl
resource "gyro_container_schedule" "rapor" {
  environment_id = 12345
  name           = "gece-raporu"
  cron           = "0 3 * * *"
  timezone       = "Europe/Istanbul"
  service        = "api"
  command        = ["npm", "run", "report"]
  retries        = 2
}
```

Zamanlama: `cron` (5 alan; `@daily` / `@hourly` da olur), `rate_minutes` ya da `at` (tek sefer); `timezone`'a göre (IANA adı, varsayılan `Europe/Istanbul`). `POST .../schedules/preview` sonraki çalışma saatlerini gösterir. Servis hedefi, o anda çalışan sürümün imajı, değişkenleri ve gizli değerleriyle [tek seferlik görev](https://www.gyrohosting.com/developers/tr/howto/container-job.md) olarak çalışır; HTTP hedefi ortamınızdan çağrılır (yönlendirme izlenmez, HTTP 400+ başarısız sayılır, özel ağ ve platform adreslerine ulaşılmaz; servisinizin iç adresine `http://<servis>.<namespace>.svc.cluster.local` ulaşılır).

Aynı zamanlamanın önceki çalışması sürerken yenisi başlamaz (`skipped`). Zamanında başlayamayan çalışma `missed` olur. Başarısız çalışma 30 sn × deneme arayla tekrar denenir (`retries` 0-3); sonra `schedule_failed` uyarısı bildirim kanallarınıza gider (ayrıca `schedule_missed`), zamanlama başına tekrar aralığında en çok bir kez. En kısa aralık 1 dakika (Sunucusuz 5); ortam başına zamanlama Sunucusuz ve 2 vCPU'ya kadar paketlerde 5, diğerlerinde 10 (`GET /cloud/account/limits`, destek talebiyle artırılır). Düğümlü paketlerde ücretsiz; Sunucusuz'da her çalışma görev gibi ücretlenir.
