11. SınıfBilişim Teknolojileri

Zamanlanmış Görevler ve Kuyruk Yönetimi

Bilişim Teknolojileri · 11. Sınıf · Sunucu Taraflı Programlama

Konu Anlatımı

Zamanlanmış Görevler ve Kuyruk Yönetimi

Bir web uygulamasında kullanıcı isteğinden bağımsız olarak yapılması gereken işler vardır: gece yedek alınması, günlük raporların hazırlanması, süresi dolan kayıtların temizlenmesi ya da çok sayıda isteğin toplu olarak işlenmesi. Zamanlanmış görev, bu işlerin sunucuda zaman ve koşula bağlı olarak otomatik başlatılmasını sağlayan yapıdır. Uzun süren işler ise isteğe bağlı akıştan ayrılarak bir iş kuyruğuna eklenir.

Görev Türleri

Görevler tek seferlik ya da periyodik olabilir. Tek seferlik görevler bir kez çalışır ve biter; periyodik görevler ise saatte bir, günde bir gibi aralıklarla tekrarlanır. Bazı görevler yalnızca uygulama başlatıldığında ya da sunucu yeniden başlatıldığında çalışacak biçimde tanımlanır. Hangi türün seçileceği, işin veri durumunu nasıl etkilediğine göre belirlenir.

Zamanlama ve Tetikleme

Görev tanımı; adı, çalışma sıklığı, başlangıç saati ve bağlı olduğu koşulu içerir. Tanımlar veritabanında saklanırsa ortamlar arasında taşınabilir ve değiştirilebilir. Görev tetiklendiğinde çalışma kaydı oluşturulur; kayıt, görevin ne zaman başlayıp bittiğini ve ne sonuç verdiğini tutar.

İş Kuyruğu

Kuyruk, uzun süren işlerin sıraya konduğu ve kapasitesi eldeği kadar işlendiği yapıdır. Kullanıcı isteği kısa bir onayla döner, iş ise kuyrukta bekler ve daha sonra işlenir. Bu ayrım, kullanıcı beklemesini azaltırken sunucunun aynı anda kaç işi taşıyabileceğini de kontrollü hâle getirir. Kuyruğun birikmesi, işlerin geliş hızının işlem kapasitesini aştığını gösteren önemli bir uyarı işaretidir.

Güvenilirlik: Tekrar Deneme ve Bekleme

Bir iş geçici bir hata nedeniyle başarısız olabilir. Bu durumda işin birkaç kez yeniden denenmesi, başarı şansını artırır. Ancak denemeler sınırsız bırakılırsa sistem sürekli aynı hatayı tekrarlayarak kaynak tüketir. Yeniden denemeler arasında bekleme konulması, hatalı işin sürekli kaynak tüketmesini engeller ve sistemin toparlanmasına zaman verir. Deneme sayısı dolduğunda iş hata listesine taşınır ve insan incelemesine bırakılır.

Tekrarlanabilirlik ve Çakışma

Zamanlama ile üretilen tekrarlar, özellikle ücretlendirme ya da sayaç güncellemesi gibi işlemlerde iki kaydın oluşmasına yol açabilir. Bu tür işlerde işin kimliği saklanır ve aynı iş kimliğiyle ikinci kez çalışma denemesi engellenir. Birden çok sunucu aynı görevi üstlenebileceğinde ise ortak bir kilit kullanılarak yalnızca bir sunucunun görevi devralması sağlanır.

Süre Sınırları ve Gözlemlenebilirlik

Takılan bir işin kuyruğu tamamen durdurması engellenmek için her işe bir süre sınırı konur; sınırı aşan iş durdurularak hata listesine alınır. Görev geçmişi tutulmazsa bir sorunun ne zaman başladığı bulunamaz. Bu nedenle başlangıç ve bitiş zamanı, süre ve sonuç durumu kaydedilir; kuyruk derinliği için bir eşik değeri tanımlanarak erken uyarı alınır. Günlüklere hassas kişisel veriler yazılmamalıdır.

Ne Öğreneceğiz

Zamanlanmış görevleri, iş kuyruğunu, yeniden deneme ve tekrar koruma kurallarını kullanarak sunucuda güvenilir arka plan işlemleri tasarlar. Bu konuda ögrenme çıktıları:

Ön Bilgi

Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:

Basit Örnek ve Günlük Yaşam

Günlük yaşamda ve mesleki bağlamda bir uygulama:

Soru: Kuyrukta 2400 iş bekliyor ve bir tüketici saniyede 12 iş işleyebiliyor. Kuyruk boşalana kadar kaç saniye gerekir?

  1. Adım 1: Bekleyen iş sayısını al.
  2. Adım 2: Bu değeri saniyede işlenen iş sayısına böl.
  3. Adım 3: Sonucu saniye olarak yorumla.

Sonuç/cevap: 2400 ÷ 12 = 200 saniye bulunur.

İleri Örnek

Daha ileri bir uygulama:

Soru: Kuyrukta bekleyen iş sayısı için hangi önlem alınabilir?

  1. Adım 1: Normal çalışma kuyruk derinliğini ölç.
  2. Adım 2: Uyarı eşiğini bu değerin üzerinde belirle.
  3. Adım 3: Eşik aşıldığında sorunu erken bildir.

Sonuç/cevap: Eşik aşıldığında erken uyarı verilerek müdahale edilir.

Adım Adım Çözülmüş Örnek

Örnek 1: Kuyruk Bekleme Süresi konusunun adımları:

  1. Adım 1: Bekleyen iş sayısını al.
  2. Adım 2: Bu değeri saniyede işlenen iş sayısına böl.
  3. Adım 3: Sonucu saniye olarak yorumla.

Karşılaştırma Tablosu

KavramAçıklama
Zamanlanmış görev, sunucuda zaman ve koşZamanlanmış görev, sunucuda zaman ve koşula bağlı olarak otomatik başlatılır.
Kuyruk, uzun işleri isteğe bağlı akıştanKuyruk, uzun işleri isteğe bağlı akıştan ayırarak yanıt süresini korur.
Tekrarlanabilir olmayan işler iş kimliğiTekrarlanabilir olmayan işler iş kimliğiyle korunur.
Yeniden deneme sayısı sınırsız bırakılmaYeniden deneme sayısı sınırsız bırakılmaz ve denemeler arasına bekleme konur.
Görev geçmişi, hataların zaman çizelgesiGörev geçmişi, hataların zaman çizelgesine göre incelenebilmesi için kaydedilir.
Kuyruk derinliği için eşik değeri tanımlKuyruk derinliği için eşik değeri tanımlanarak erken uyarı sağlanır.

Sık Yapılan Hatalar

Yeniden denemeyi sınırsız bırakmak: Sonsuz deneme, kalıcı hatada kaynak tüketimini sürdürür; deneme sayısı sınırlandırılmalı ve iş sonunda hata listesine alınmalıdır.

Denemeler arasına bekleme koymamak: Hatalı iş anında tekrar denendiğinde kaynak tüketimi sürer ve düzelme fırsatı doğmadan sistem yorar.

Tekrarlanabilir olmayan işleri korumamak: İş kimliği tutulmazsa zamanlama tetiklendiğinde aynı ücret ya da sayaç iki kez yazılabilir.

Kuyruk derinliğini izlememek: Derinlik ölçülmezse kapasite aşımı fark edilmeden sistem yavaşlar ve kullanıcı hataları artar.

Görev günlüğüne hassas veri yazmak: Kişisel verilerin günlüklere geçmesi veri koruma yükümlülüğünü ihlal eder; günlükte kimlik yerine iş bilgisi tutulmalıdır.

Özet

Zamanlanmış görevler, kullanıcı isteğinden bağımsız olarak zaman ve koşula bağlı biçimde otomatik başlatılır; periyodik ve tek seferlik olmak üzere ikiye ayrılır. Uzun süren işler ise isteğe bağlı akıştan ayrılarak iş kuyruğuna eklenir, böylece kullanıcı beklemesi kısalır ve sunucunun kapasitesi kontrollü hâle gelir. Kuyruk birikiyorsa bu, işlerin geliş hızının işlem kapasitesini aştığını gösterir. Bekleme süresi bekleyen iş sayısının saniyede işlenen iş sayısına bölünmesiyle bulunur; 2400 işlik bir kuyruk saniyede 12 iş işleyen bir tüketicide 2400 ÷ 12 = 200 saniyede boşalır. Birikim hızı gelen iş sayısından işlenenin çıkarılmasıyla hesaplanır; dakikada 300 iş gelen ve 250 iş işlenen bir sistemde 300 - 250 = 50 iş birikir ve bu değer bir saatte 3000 işe ulaşır. Güvenilirlik için yeniden deneme sayısı sınırlanır, denemeler arasına bekleme konur ve sınır dolunca iş hata listesine taşınır. Tekrarlanabilir olmayan işler iş kimliğiyle korunur, birden çok sunucuda ortak kilit kullanılır, takılan işler için süre sınırı konur ve görev geçmişi denetim için kaydedilir.

Kendini Dene

Soru: Yönerge: Bir e-ticaret uygulaması için zamanlanmış görev ve iş kuyruğu tasarımı yaz. Planda hangi işlerin zamanlanmış görev olarak, hangilerinin kuyruğa alınacağını, yeniden deneme ve bekleme kurallarını, tekrar koruma yöntemini ve gözlemlenebilirlik ölçütlerini ayrı maddeler hâlinde belirt.

Örnek cevap: Puanlama anahtarı: zamanlanmış görev örneklerinin yazılması 4 puan; kuyruğa alınacak işlerin belirlenmesi 4 puan; yeniden deneme sayısı ve aralardaki beklemenin yazılması 4 puan; iş kimliğiyle tekrar korumanın açıklanması 4 puan; kuyruk derinliği ve süre sınırı ölçütlerinin yazılması 4 puan. Toplam 20 puan. Model cevap: Gece yedekleme, rapor üretimi ve süresi dolan kayıtların temizlenmesi zamanlanmış görev olarak tanımlanır. Fatura oluşturma, toplu bildirim gönderme ve veri dışa aktarma kuyruğa alınır. Yeniden deneme üç kez yapılır ve aralarda artan beklemeler konur. Tekrarlanabilir olmayan işlerde iş kimliği tutulur. Kuyruk derinliği için eşik değeri ve her iş için süre sınırı tanımlanır.

Zamanlanmış Görevler ve Kuyruk Yönetimi — Sık Sorulan Sorular

Zamanlanmış Görevler ve Kuyruk Yönetimi nedir?

Bir web uygulamasında kullanıcı isteğinden bağımsız olarak yapılması gereken işler vardır: gece yedek alınması, günlük raporların hazırlanması, süresi dolan kayıtların temizlenmesi ya da çok sayıda isteğin toplu olarak işlenmesi. Zamanlanmış görev, bu işlerin sunucuda zaman ve koşula bağlı olarak otomatik…

Zamanlanmış Görevler ve Kuyruk Yönetimi konusunda ne öğrenilir?

Zamanlanmış görev, sunucuda zaman ve koşula bağlı olarak otomatik başlatılır.

Zamanlanmış Görevler ve Kuyruk Yönetimi konusunda sık yapılan hatalar nelerdir?

Yeniden denemeyi sınırsız bırakmak: Sonsuz deneme, kalıcı hatada kaynak tüketimini sürdürür; deneme sayısı sınırlandırılmalı ve iş sonunda hata listesine alınmalıdır. Denemeler arasına bekleme koymamak: Hatalı iş anında tekrar denendiğinde kaynak tüketimi sürer ve düzelme fırsatı doğmadan sistem yorar.

Zamanlanmış Görevler ve Kuyruk Yönetimi için hangi formüller ve kurallar kullanılır?

Bekleme süresi = toplam bekleyen iş sayısı ÷ saniyede işlenen iş sayısı · Birim zamandaki birikim = gelen iş sayısı − işlenen iş sayısı · Toplam çalışma süresi = görev süresi × çalışma sayısı · Bir saatlik birikim = bir dakikadaki birikim × 60

Zamanlanmış Görevler ve Kuyruk Yönetimi kazanımları nelerdir?

Zamanlanmış görev kavramını açıklar. İş kuyruğunun çalışma mantığını ayırt eder. Yeniden deneme ve bekleme kurallarını uygular.

Zamanlanmış Görevler ve Kuyruk Yönetimi Kazanımları

Örnek Sorular ve Çözümleri

Örnek Soru 1 kolay

Zamanlanmış görev kavramı hangi tanımla en iyi açıklanır?

  1. A) Belirli bir zamanda ya da aralıkta otomatik olarak başlatılacak biçimde tanımlanmış işlemdir
  2. B) Kullanıcının her seferinde elle başlattığı işlemdir
  3. C) Yalnızca hata oluştuğunda çalışan işlemdir
  4. D) Pratikte sunucuyu kapatan bir komuttur
Cevabı göster

Doğru cevap: A) Belirli bir zamanda ya da aralıkta otomatik olarak başlatılacak biçimde tanımlanmış işlemdir

Belirli bir zamanda kavramı Zamanlanmış Görevler ve Kuyruk Yönetimi konusunun temel bir kavramıdır. Detaylar konu anlatımında verilmiştir.

Örnek Soru 2 orta

Görev çalışma kaydı ile ayrıntılı hata günlüğü arasındaki fark nedir?

  1. A) Çalışma kaydı hangi işin ne zaman çalıştığını, günlük ise ayrıntılı hata bilgisini tutar
  2. B) Pratikte ikisi de tamamen aynı şeydir
  3. C) Günlük yalnızca ekran çıktısıdır
  4. D) Çalışma kaydı yalnızca tasarım bilgisidir
Cevabı göster

Doğru cevap: A) Çalışma kaydı hangi işin ne zaman çalıştığını, günlük ise ayrıntılı hata bilgisini tutar

Çalışma kaydı zaman ve sonuç bakımından özet bilgi verir; hata günlüğü ise sorunun ayrıntısını taşır. İkisi birlikte kullanıldığında hata kaynağı çok daha hızlı bulunur.

Örnek Soru 3 zor

Gece 03.00 için tanımlı bir görev hiç çalışmıyor. İlk olarak hangisi kontrol edilmelidir?

  1. A) Sunucunun markası gösterir.
  2. B) Görev tanımının etkin olup olmadığı ve çalışma geçmişi kayıtları
  3. C) Ekrana yeni bir düğme eklenmesi
  4. D) Ağ kablosunun değiştirilmesi
Cevabı göster

Doğru cevap: B) Görev tanımının etkin olup olmadığı ve çalışma geçmişi kayıtları

Görevin tanımlı olup olmadığı ve tetiklenip tetiklenmediği ilk bakılacak yerdir. Çalışma geçmişi kaydında o saat için bir satır bulunup bulunmadığı sorunu hızla ortaya koyar.

Sıradaki adım

Konu anlatımları hesapsız okunur. Quiz, slayt ve deneme için hesap gerekir.

DersTeders ile devam et

Bilişim Teknolojileri için çalışma yolu

  1. OkuKonu anlatımını bu sayfada bitir.
  2. Soru çözÖrnekleri çöz, cevabı açıklamayla karşılaştır.
  3. Quiz ile pekiştirHesapla kendini ölç.

Slaytla adım adım öğren · Tüm dersler · Ana sayfa

Hesap açTüm dersleri keşfet

Konu anlatımları hesapsız okunur; quiz, slayt ve deneme için hesap gerekir.

Bu sayfa Zamanlanmış Görevler ve Kuyruk Yönetimi konusunun anlatımını, kazanımlarını ve örnek sorularını içerir. Konuyla ilgili tüm sorular için testi çöz, diğer konular için DersTeders ana sayfasına geçebilirsin.

Bu konunun öğretmen materyallerini (ders planı, çalışma kâğıdı, çözümlü soru bankası, rubrik) yazdırabilirsin: Yazıcı çıktısı modülünü aç