0Pricing
Flask Academy · Ders

Sonuçları İzleme ve Hataları Ele Alma

Görev durumunu sorgulayıp hata durumunda yeniden deneyin.

Sonuçları İzleme ve Hataları Ele Alma, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.

AsyncResult Tanıtıcısı

Bir görevi kuyruğa eklediğinizde bir AsyncResult alırsınız. Kimliğini kaydedin; böylece daha sonraki herhangi bir istekte işi kontrol edebilirsiniz.

job = add.delay(2, 3)
ticket = job.id

Durumu Kontrol Edin

Her işin PENDING, STARTED, SUCCESS veya FAILURE gibi bir durumu vardır. İşin tamamlanıp tamamlanmadığını anlamak için bu durumu okursunuz.

res = add.AsyncResult(ticket)
print(res.state)

Sonucu Okuma

Bir iş başarıyla tamamlandığında, dönüş değeri arka uçta depolanır. Bu değere AsyncResult üzerindeki result aracılığıyla erişirsiniz.

if res.ready():
    print(res.result)

Engellemeyin, Yoklayın

Bir web görünümünde hiçbir zaman get() çağırıp beklemeyin. Bunun yerine görev kimliğini döndürün ve istemcinin bir durum uç noktasını yoklamasını sağlayın.

Bir Durum Uç Noktası

Bir görev kimliği alan ve görevin durumuyla sonucunu döndüren bir route sunun. Ön yüz, görev tamamlanana kadar bu uç noktaya birkaç saniyede bir istek gönderir.

@app.get("/status/<tid>")
def status(tid):
    r = add.AsyncResult(tid)
    return {"state": r.state}

Hatalar Olur

Dış çağrıların zaman aşımına uğraması ve kodun hatalar oluşturması mümkündür. Bir görev hata verdiğinde Celery onu FAILURE olarak işaretler ve istisnayı kaydeder.

Otomatik Yeniden Denemeler

Geçici hatalarda bir görevin kendini yeniden denemesini sağlayın. max_retries ve bir gecikme belirleyerek sorun çıkaran çağrılara birkaç ek şans verin.

@celery.task(bind=True, max_retries=3)
def fetch(self):
    ...

Denemeler Arasında Bekleyin

Anında yeniden denemek, zorlanan bir hizmete aşırı yük bindirebilir. Her yeniden denemede daha uzun beklemek için backoff adı verilen ve giderek artan bir gecikme kullanın.

Yeniden Denemeyi Tetikleme

Görevin içinde hatayı yakalayın ve self.retry çağrısını yapın. Celery işi kuyruğa yeniden ekler ve bu denemeyi max_retries sayısına dahil eder.

try:
    do_work()
except Exception as e:
    self.retry(exc=e, countdown=5)

Zaman Sınırları Belirleme

Takılı kalan bir görev sonsuza kadar çalışmamalıdır. Bir zaman sınırı, süresini aşan görevleri sonlandırarak çalışanı diğer işler için serbest bırakır.

Sonuçların Süresinin Dolması

Depolanan sonuçlar yer kaplar. Celery, eski sonuçların bir süre sonra süresini doldurur; bu nedenle istemcileri sonuçları gecikmeden alacak şekilde tasarlayın. ⏱️

Hızlı Kontrol

Göreviniz sorun çıkaran bir dış API'yi çağırıyor.

Özet

İşleri kimlikleriyle izleyin, durum ve sonuç için bir durum uç noktasını yoklayın; hataları yeniden denemeler, artan bekleme ve zaman sınırlarıyla yönetin. ✅

Sıkça Sorulan Sorular

“Sonuçları İzleme ve Hataları Ele Alma” dersi ücretsiz mi?

Evet — “Sonuçları İzleme ve Hataları Ele Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.

“Sonuçları İzleme ve Hataları Ele Alma” dersinde ne öğreneceğim?

Görev durumunu sorgulayıp hata durumunda yeniden deneyin. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Flask Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Sonuçları İzleme ve Hataları Ele Alma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İşi İstek Dışına Taşımak Neden Önemlidir
  2. Celery’yi Uygulama Fabrikasına Bağlama
  3. Görev Tanımlama ve Çağırma
  4. Sonuçları İzleme ve Hataları Ele Alma
← Flask Academy Sayfasına Dön