Celery Nedir?

İngilizce: Celery

Celery, Python uygulamalarında e-posta, rapor, entegrasyon gibi uzun işleri kuyrukta asenkron çalıştıran görev sistemidir.

Celery Nedir?

Celery, Python uygulamalarında uzun süren veya arka planda çalışması gereken işleri kuyruk üzerinden yürüten dağıtık görev sistemidir. Web isteği içinde rapor üretmek, e-posta göndermek veya dış API beklemek yerine görev kuyruğa alınır ve worker süreçleri tarafından işlenir.

Celery mimarisinde uygulama görevi oluşturur, broker mesajı taşır, worker görevi çalıştırır, sonuç gerekiyorsa result backend’e yazılır. Broker olarak sıkça RabbitMQ veya Redis kullanılır. Celery Beat ise belirli zamanlarda çalışan periyodik görevleri planlamak için tercih edilir.

Nerede Kullanılır?

E-posta gönderimi, fatura PDF oluşturma, görsel işleme, stok senkronizasyonu, CRM entegrasyonu, veri içe aktarma ve rapor hazırlama Celery için tipik senaryolardır. Kullanıcı web sayfasında beklemek yerine işlemin durumu daha sonra gösterilebilir.

Görevlerin idempotent tasarlanması önemlidir; çünkü retry mekanizması aynı işi birden fazla kez çalıştırabilir. Zaman aşımı, hata yakalama, dead letter yaklaşımı, izleme ve worker kapasitesi üretim ortamında ayrıca planlanmalıdır.

Python ekosisteminde Celery olgun bir çözümdür. RabbitMQ gibi mesaj aracıları, görevlerin güvenilir şekilde taşınması için kritik rol oynar.