Giriş ve Temel Bilgiler
Python’da asenkron görevleri yönetmek ve zamanlamak için en popüler araçlardan biri olan Celery, dağıtık görev kuyruğu mimarisi sağlar. Bu sistem sayesinde uzun süren işlemler arka planda çalıştırılırken, ana uygulama akışında herhangi bir yavaşlama yaşanmaz. Celery, mesaj aracı olarak Redis veya RabbitMQ gibi altyapıları kullanır ve özellikle web uygulamalarında arka plan işlemleri, zamanlama ve görev tekrarı gibi fonksiyonlarda tercih edilir.
Kurulum Öncesi Gereksinimler
İlk olarak, Python ortamınızın güncel ve sanal ortam kullanımıyla izole olması önerilir. Örneğin:
1234
python -m venv venv
source venv/bin/activate # Linux / macOS
venv\Scripts\activate # Windows
Ayrıca, mesaj aracı olarak Redis veya RabbitMQ’nun sisteminizde kurulu ve çalışır durumda olması gerekir. Redis kullanacaksanız,
Redis resmi sitesi üzerinden uygun sürümü yükleyebilirsiniz.
Celery ve Bağımlılıkların Kurulumu
Kurulum oldukça basittir:
12
pip install celery redis # Redis kullanacaksanız
Eğer RabbitMQ tercih ediyorsanız, ilgili Python kütüphanesi yerine, RabbitMQ’nun kendisini kurduğunuzdan emin olun.
Basit Bir Celery Uygulaması Oluşturma
Örnek olarak,
tasks.py adında bir dosyada aşağıdaki gibi bir görev tanımlayabilirsiniz:
12345678
from celery import Celery
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def toplama(x, y):
return x + y
Burada,
broker parametresi Redis’in bağlantı adresini gösterir. Bu yapılandırma, Celery’nin Redis ile haberleşmesini sağlar.
Çalıştırma ve Görev Gönderimi
Celery worker’ı başlatmak için terminalde:
12
celery -A tasks worker --loglevel=info
Görevleri göndermek için ise, Python shell veya başka bir script içinde:
12345
from tasks import toplama
sonuc = toplama.delay(4, 6)
print(sonuc.get()) # Sonucu bekler ve ekrana yazdırır
Bu noktada, Celery’nin temel kurulum ve kullanım adımlarını tamamlamış olursunuz. Gelişmiş konfigürasyonlar, zamanlama, hata yönetimi ve performans iyileştirmeleri ise, ihtiyaçlara göre detaylandırılabilir.
Celery’nin altyapısını ve çalışma mantığını anlamak, dağıtık sistemler ve arka plan görevleri konusunda derin bilgi sahibi olmayı sağlar. Bu temel kurulum ve kullanım rehberi, projelerinizi ölçeklendirme ve optimize etme yolunda ilk adımı atmanıza yardımcı olur.