Autor del tema
#0
Celery, Python tabanlı bir dağıtık görev kuyruk sistemidir ve asenkron görevler ile zamanlanmış görevleri yönetmek için sıklıkla kullanılır. Büyük ölçekli uygulamalarda, arka planda çalışan işlemleri yönetmek için ideal bir çözümdür. Bu rehberde Celery’nin temel bileşenlerini, nasıl yapılandırılacağını ve kullanıma yönelik bazı örnekleri inceleyeceğiz.
1. Temel Bileşenler
Celery, birkaç temel bileşenden oluşur:
2. Kurulum ve Yapılandırma
Celery'yi kullanmaya başlamak için öncelikle gerekli paketleri yüklememiz gerekiyor. Aşağıdaki komutları terminalde çalıştırarak Celery’i kurabilirsiniz:
Bir Celery uygulaması oluşturmak için aşağıdaki gibi bir yapı kullanabilirsiniz:
Bu örnekte, Redis’i broker olarak kullanarak basit bir toplama işlemi gerçekleştiren bir görev tanımladık.
3. Görevlerin Çalıştırılması
Görevleri çalıştırmak için Celery işçisini başlatmanız gerekir. Terminalde şu komutu çalıştırarak işçiyi başlatabilirsiniz:
Görevleri çağırmak için aşağıdaki gibi bir komut kullanabilirsiniz:
Bu, görevi kuyruğa alır ve işçi tarafından işlenmesini bekler. Sonucu almak için
Sonuç olarak, Celery, büyük ve karmaşık uygulamalarda asenkron görev yönetimi için etkili bir araçtır. Yapılandırması ve kullanımı oldukça basit olup, genişletilebilir yapısı sayesinde projelerinize esneklik kazandırır. Celery ile ilgili daha fazla deneyim veya örnek paylaşmak isteyenler için bu platformda tartışmalara açığız.
1. Temel Bileşenler
Celery, birkaç temel bileşenden oluşur:
- Görevler (Tasks): Asenkron olarak çalıştırılacak olan işlevlerdir. Görevler, genellikle belirli bir işlemi gerçekleştiren Python fonksiyonlarıdır.
- İşçi (Worker): Görevleri yerine getiren arka plan süreçleridir. İşçiler, görevleri alıp işleyerek sonuçları döndürür.
- Kuyruk (Broker): Görevlerin gönderilip alındığı sistemdir. Celery, RabbitMQ ve Redis gibi çeşitli kuyruk sistemleriyle entegre çalışabilir.
- Sonuç Backend: Görevlerin sonuçlarını saklamak için kullanılan sistemdir. Bu, bir veritabanı veya başka bir depolama çözümü olabilir.
2. Kurulum ve Yapılandırma
Celery'yi kullanmaya başlamak için öncelikle gerekli paketleri yüklememiz gerekiyor. Aşağıdaki komutları terminalde çalıştırarak Celery’i kurabilirsiniz:
CODE
1pip install celeryBir Celery uygulaması oluşturmak için aşağıdaki gibi bir yapı kullanabilirsiniz:
CODE
1234567from celery import Celery
app = Celery('proj', broker='redis://localhost:6379/0')
@app.task
def add(x, y):
return x + yBu örnekte, Redis’i broker olarak kullanarak basit bir toplama işlemi gerçekleştiren bir görev tanımladık.
3. Görevlerin Çalıştırılması
Görevleri çalıştırmak için Celery işçisini başlatmanız gerekir. Terminalde şu komutu çalıştırarak işçiyi başlatabilirsiniz:
CODE
1celery -A proj worker --loglevel=infoGörevleri çağırmak için aşağıdaki gibi bir komut kullanabilirsiniz:
CODE
1result = add.delay(4, 4)Bu, görevi kuyruğa alır ve işçi tarafından işlenmesini bekler. Sonucu almak için
result.get() metodunu kullanabilirsiniz.Sonuç olarak, Celery, büyük ve karmaşık uygulamalarda asenkron görev yönetimi için etkili bir araçtır. Yapılandırması ve kullanımı oldukça basit olup, genişletilebilir yapısı sayesinde projelerinize esneklik kazandırır. Celery ile ilgili daha fazla deneyim veya örnek paylaşmak isteyenler için bu platformda tartışmalara açığız.