إعداد Celery مع وسيط
ربط Celery بـ Redis أو RabbitMQ
إعداد Celery مع وسيط درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.
ما هو Broker
تحتاج Celery إلى broker: وسيط يحتفظ بالمهام الموضوعة في قائمة الانتظار حتى يلتقطها عامل. تخيله كصندوق الوارد بين تطبيقك والعمال.
Redis أو RabbitMQ
الوسيطان الشائعان هما Redis (بسيط وسريع وخيار افتراضي ممتاز) وRabbitMQ (أثقل وأكثر متانة). بالنسبة إلى معظم تطبيقات Django، يكفي Redis. 📨
ثبّت الحزم
ابدأ بتثبيت Celery وعميل Redis حتى تتمكن Celery من الاتصال بالوسيط عبر الشبكة.
pip install celery redisأنشئ تطبيق Celery
أضف ملف celery.py بجوار settings.py. ينشئ هذا الملف مثيل Celery ويخبره بمكان العثور على إعدادات Django.
import os
from celery import Celery
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
app = Celery("myproject")اقرأ الإعدادات من Settings
وجّه Celery إلى إعدادات Django حتى تكون جميع خياراتها في مكان واحد، مع تسمية نطاقها بالبادئة CELERY.
app.config_from_object("django.conf:settings", namespace="CELERY")اكتشف المهام تلقائيًا
يخبر سطر واحد Celery بفحص كل تطبيق مثبت بحثًا عن وحدة tasks، لذلك لن تضطر إلى تسجيل المهام يدويًا.
app.autodiscover_tasks()اربطه في __init__
في ملف مشروعك __init__.py، استورد تطبيق Celery حتى يُحمّل عند بدء Django. ويجعل ذلك مُزخرف المهمة المشتركة يعمل.
from .celery import app as celery_app
__all__ = ("celery_app",)اضبط عنوان URL للوسيط
في settings.py، وجّه CELERY_BROKER_URL إلى مثيل Redis المشغّل حتى يشارك المنتجون والعمال قائمة الانتظار نفسها.
CELERY_BROKER_URL = "redis://localhost:6379/0"أضف Result Backend
إذا أردت قراءة نتائج المهام لاحقًا، فاضبط result backend. ويمكن لـ Redis أن يؤدي دور الوسيط ومخزن النتائج معًا.
CELERY_RESULT_BACKEND = "redis://localhost:6379/0"ابدأ Worker
شغّل العامل من الطرفية. سيتصل بالوسيط وينتظر المهام. أبقِ خادم Django قيد التشغيل في طرفية منفصلة. 🛠️
celery -A myproject worker -l infoعمليتان دائمًا
تذكر أن خادم الويب وworker عمليتان منفصلتان. يجب تشغيل كلتيهما حتى تُنفذ مهام الخلفية فعليًا.
تحقق سريع
ما المهمة التي يؤديها broker في إعداد Celery؟
مراجعة: إعداد Celery
ثبّت Celery وbroker مثل Redis، وأنشئ celery.py، واضبط عنوان URL للوسيط، وشغّل عاملًا في طرفيته الخاصة. أنت مستعد لوضع المهام في قائمة الانتظار. ✅
تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «إعداد Celery مع وسيط» مجاني؟
نعم — نص درس «إعداد Celery مع وسيط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.
ماذا ستتعلم في «إعداد Celery مع وسيط»؟
ربط Celery بـ Redis أو RabbitMQ تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟
لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «إعداد Celery مع وسيط»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟
نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا تحتاج إلى مهام في الخلفية
- إعداد Celery مع وسيط
- كتابة واستدعاء @shared_task
- المهام المجدولة باستخدام Celery Beat