İçeriğe geç
0850 554 5439 [email protected]

Size nasıl yardımcı olabiliriz?

Rehberlerimizde ve eğitimlerimizde arama yapın ya da aşağıdaki kategorilere göz atın.

Gyro Kapsayıcı: zamanlanmış görev (cron)

Gyro Kapsayıcı (ECS) 36 görüntülenme Kullanım rehberi Son doğrulama: Markdown
Bu rehberde ne öğreneceksinizBir servis komutunu ya da bir adresi (HTTP çağrısı) takvime bağlamayı: her gece rapor, her 15 dakikada kuyruk temizliği ya da belirli bir anda tek sefer.
Süre5 dakika
Kimin içinUygulamasını Gyro Kapsayıcı'da çalıştıran geliştiriciler.
GerekenlerBir Gyro Kapsayıcı ortamı (servis komutu için en az bir servis).

1. Nasıl çalışır

  • Zamanlama üç türlüdür: cron ifadesi (dakika saat gün ay haftanın-günü, ör. 0 3 * * *; @daily, @hourly da olur), her N dakikada ya da tek sefer (tarih ve saat).
  • Saatler seçtiğiniz saat dilimine göredir; varsayılan Europe/Istanbul. Yurt dışındaki kullanıcılarınız için ör. UTC ya da Europe/Berlin seçebilirsiniz.
  • Servis komutu hedefinde her çalışma bir tek seferlik görev olarak başlar: servisin o anda çalışan sürümünün imajı, değişkenleri ve gizli değerleri kullanılır. Yeni sürüm dağıttığınızda sonraki çalışma yeni sürümle olur.
  • HTTP çağrısı hedefinde ortamınızın içinden bir istek gönderilir (GET, POST, PUT, PATCH, DELETE, HEAD). Başlıklar ve gövde gizli saklanır, bir daha gösterilmez. Yanıt kodu 400 ve üstüyse çalışma başarısız sayılır; yönlendirme izlenmez. Kendi servisinizi iç adresiyle çağırabilirsiniz: http://<servis>.<namespace>.svc.cluster.local. Özel ağ ve platform adreslerine ulaşılamaz.
  • Üst üste binme yoktur: bir zamanlamanın önceki çalışması sürerken yenisi başlamaz, geçmişte Atlandı olarak görünür.
  • Tekrar deneme: başarısız çalışma 30 sn, 60 sn, 90 sn arayla en çok 3 kez yeniden denenir (siz seçersiniz, varsayılan 0).

2. Panelden eklemek

  1. Hizmetinizde Görevler sekmesini açın, üstteki Zamanlanmış düğmesine basın.
  2. Zamanlama ekle'ye basın, bir ad yazın (ör. gece-raporu).
  3. Ne zaman alanında Cron ifadesi, Her N dakikada ya da Tek sefer seçin. Hazır düğmeler (0 3 * * *, */15 * * * * …) işinizi kolaylaştırır; Sonraki çalışmalar satırı ifadeyi seçtiğiniz saat diliminde gösterir.
  4. Ne çalışsın alanında Servis komutu (servis + komut + zaman sınırı) ya da HTTP çağrısı (yöntem + adres + başlıklar + gövde) seçin.
  5. İsterseniz Tekrar deneme sayısını girin ve Kaydet'e basın.
  6. Listede her zamanlamanın sonraki ve son çalışmasını görürsünüz. Şimdi çalıştır, Geçmiş (son 20 çalışma ve çıktıları), Duraklat / Devam ettir, Düzenle ve Sil düğmeleri satırın sonundadır.

3. CLI, API, Terraform ve yapay zeka asistanı ile

bash
# her gece 03:00 (İstanbul), iki kez tekrar denemeli
gyro container schedule create 12345 gece-raporu --cron "0 3 * * *" --service api --retries 2 -- npm run report

# 15 dakikada bir kendi adresinizi çağırın
gyro container schedule create 12345 kuyruk --every 15m --url https://api.example.com/cron --method POST --header "Authorization: Bearer $TOKEN"

# 1 Aralık 09:00'da bir kez
gyro container schedule create 12345 kampanya --at 2026-12-01T09:00 --service api -- node send.js

gyro container schedule list 12345
gyro container schedule run-now 12345 gece-raporu
gyro container schedule pause 12345 gece-raporu
gyro container schedule preview 12345 --cron "0 9 * * 1-5" --timezone UTC

API: POST /cloud/containers/{id}/schedules gövdesi {"name":"gece-raporu","cron":"0 3 * * *","service":"api","command":["npm","run","report"],"retries":2}; liste GET .../schedules, ayrıntı ve geçmiş GET .../schedules/{ad}, değiştirme PATCH, silme DELETE, POST .../pause|resume|run, önizleme POST .../schedules/preview.

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
}

Gyro MCP'de araçlar: list_container_schedules, get_container_schedule, preview_container_schedule, create_container_schedule, update_container_schedule, pause_container_schedule, resume_container_schedule, run_container_schedule_now, delete_container_schedule.

4. Bildirimler

  • schedule_failed: çalışma, tekrar denemelerden sonra da başarısız olduysa.
  • schedule_missed: çalışma planlanan saatte başlatılamadıysa (ör. platform bakımı); sonraki çalışma takvime göre yapılır.
  • Bildirimler Bildirimler sekmesindeki kanallarınıza (e-posta, SMS, Telegram, imzalı webhook) gider. Sürekli başarısız olan sık bir zamanlama sizi boğmasın diye zamanlama başına tekrar aralığında (varsayılan 30 dakika) en çok bir mesaj gönderilir; hepsi geçmişte kayıtlıdır.

5. Sınırlar ve ücret

Düğümlü paketler Sunucusuz
Ortam başına zamanlama 2 vCPU'ya kadar paketlerde 5, diğerlerinde 10 5
En kısa aralık 1 dakika 5 dakika
Ücret Ek ücret yok (çalışma düğümlerinizde) Her çalışma görev (task) gibi vCPU-saniye / GB-saniye
  • Zamanlanmış çalışmalar eşzamanlı görev sınırına sayılır (tek seferlik görev); sınır doluysa çalışma başarısız sayılır ve bildirim gelir.
  • Sınırlar destek talebiyle artırılabilir (gyro limits sınırları gösterir).
  • Ortam askıdayken hiçbir zamanlama çalışmaz; ortam silinince zamanlamalar da silinir.

6. Sık sorulanlar

Saat dilimini değiştirirsem ne olur? Sonraki çalışma yeni saat dilimine göre hemen yeniden hesaplanır.

Aynı iş birden fazla kopyada mı çalışıyor? Hayır. Servisinizin kaç kopyası olursa olsun zamanlama tek bir görev başlatır; önceki çalışma sürerken yenisi başlamaz.

Çıktıyı nerede görürüm? Zamanlamanın Geçmiş listesinden ya da Görevler > Tek seferlik listesinden; CLI'da gyro container job logs 12345 <görev>.

Bir çalışmayı kaçırırsam telafi edilir mi? Hayır. Kaçan çalışma Kaçırıldı olarak kaydedilir ve bildirim gelir; bir sonraki çalışma takvime göre yapılır. Duraklatıp devam ettirdiğinizde de sonraki çalışma o andan itibaren hesaplanır.

Cron ifadesinde hem ayın günü hem haftanın günü varsa? Klasik cron'daki gibi ikisinden biri tutunca çalışır (ör. 0 0 13 * 5 = ayın 13'ü ya da her cuma).

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.