استخدام ريديس بول
Installation¶
لدعم ريديس لديك لتثبيت التبعيات إضافية. يمكنك تثبيت كل من الكرفس وهذه التبعيات دفعة واحدة باستخدام الكرفس [ريديس] حزمة:
Configuration¶
تكوين سهل، مجرد تكوين موقع قاعدة البيانات الخاصة بك ريديس:
حيث يكون عنوان ورل بتنسيق:
جميع الحقول بعد مخطط اختيارية، وسوف الافتراضي إلى لوكالهوست على المنفذ 6379، باستخدام قاعدة البيانات 0.
إذا كان ينبغي استخدام اتصال مأخذ يونكس، يجب أن يكون عنوان ورل بالتنسيق:
تحديد رقم قاعدة بيانات مختلف عند استخدام مقبس أونيكس ممكن بإضافة المعلمة virtual_host إلى عنوان ورل:
ومن السهل أيضا للاتصال مباشرة إلى قائمة ريديس الحارس:
مهلة الرؤيةВ¶¶
يحدد مهلة الرؤية عدد الثواني التي تنتظر أن يعترف العامل بالمهمة قبل إعادة توجيه الرسالة إلى عامل آخر. تأكد من رؤية التحذيرات أدناه.
يتم تعيين هذا الخيار عبر إعداد broker_transport_options:
مهلة الرؤية الافتراضية ل ريديس هي ساعة واحدة.
إذا كنت تريد أيضا تخزين الحالة وإرجاع قيم المهام في ريديس، فيجب عليك تهيئة هذه الإعدادات:
للحصول على قائمة كاملة بالخيارات التي تدعمها الواجهة الخلفية لنتائج ريديس، راجع إعدادات ريديس الخلفية.
لاحظ أن الحارس ليس خلفية معتمدة.
البادئة فانوت ¶
سيتم عرض رسائل البث من قبل جميع المضيفين الظاهري بشكل افتراضي.
يجب عليك تعيين خيار نقل للبادئة الرسائل بحيث يتم استقبالها فقط من قبل المضيف الظاهري النشط:
لاحظ أنك لن تتمكن من التواصل مع العمال الذين يشغلون إصدارات قديمة أو عمال لا يسمح لهم بهذا الإعداد.
سيكون هذا الإعداد هو الإعداد الافتراضي في المستقبل، لذا من الأفضل الترحيل عاجلا وليس آجلا.
أنماط فانوتВ¶
وسيتلقى العمال جميع الأحداث المتعلقة بالمهمة بشكل افتراضي.
لتجنب ذلك، يجب تعيين الخيار فانوت-باترنس فانوت بحيث يمكن للعمال الاشتراك فقط في الأحداث ذات الصلة العامل:
لاحظ أن هذا التغيير غير متوافق مع الإصدارات السابقة بحيث يجب تمكين جميع العاملين في المجموعة من تمكين هذا الخيار، وإلا فلن يتمكنوا من التواصل.
سيتم تمكين هذا الخيار بشكل افتراضي في المستقبل.
مهلة الرؤية ¶¶
إذا لم يتم التعرف على المهمة ضمن مهلة الرؤية، فستتم إعادة توجيه المهمة إلى عامل آخر ويتم تنفيذها.
هذا يسبب مشاكل مع المهام إيتا / العد التنازلي / إعادة المحاولة حيث الوقت لتنفيذ يتجاوز مهلة الرؤية؛ في الواقع إذا حدث ذلك سيتم تنفيذها مرة أخرى، ومرة أخرى في حلقة.
لذلك لديك لزيادة مهلة الرؤية لتتناسب مع الوقت من أطول ايتا لك & # 8217؛ إعادة التخطيط لاستخدامها.
لاحظ أن الكرفس سيعيد إرسال الرسائل عند إيقاف تشغيل العامل، لذا فإن وجود مهلة رؤية طويلة يؤدي إلى تأخير إعادة تسليم & # 8216؛ فقدت & # 8217؛ المهام في حالة انقطاع التيار الكهربائي أو إنهاء العمل بقوة.
لم تتأثر المهام الدورية بتأخر الرؤية، لأن هذا مفهوم منفصل عن إيتا / العد التنازلي.
يمكنك زيادة هذه المهلة عن طريق تكوين خيار نقل بنفس الاسم:
يجب أن تكون القيمة إنت تصف عدد الثواني.
إخلاء المفتاح ¶
ريديس قد طرد مفاتيح من قاعدة البيانات في بعض الحالات.
إذا واجهت خطأ مثل:
ثم قد تحتاج إلى تكوين ملقم ريديس إلى عدم إخلاء مفاتيح عن طريق تعيين المعلمة مهلة إلى 0 في ملف تكوين ريديس.
سيليريبيت لا تعمل مع BROKER_TRANSPORT_OPTIONS # 2069.
جفاليو علق 3 يونيو، 2018.
عند بدء تشغيل مثيل سيليريبيت مع الخيار BROKER_TRANSPORT_OPTIONS ['queue_name_prefix'] = 'CELERYBEAT-' (باستخدام سوس)، أحصل على ما يلي في السجلات:
بعد ذلك لا يتم طرح أي أخطاء ولكن العامل لن تلتقط أي مهام. بعد إزالة BROKER_TRANSPORT_OPTIONS وإعادة تشغيل العملية يبدأ العامل سحب المهام مرة أخرى. يتم تشغيل الإصدار 3.0.13. هل هذا شيء لم يكن متوفرا في هذا الإصدار؟ أواجه صعوبة في العثور على وثائق لهذا الإصدار للتحقق.
جفاليو علق 10 يونيو، 2018.
أي تحديث على هذا؟
جفاليو علق 7 يوليو، 2018.
جفاليو علق 7 يوليو، 2018.
ask هل هناك على أي حال هل يمكن أن ننظر في هذا؟
تعليق مالينوف يوليو 9، 2018.
jvaleo إذا كنت لا تزال تواجه هذه المشكلة، من فضلك، لا تتردد في إعادة فتح / لإنشاء تذكرة أخرى.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.
ريديس باكند و socket_timeout ديفولت # 1221.
مسغر علق مارس 4، 2018.
يمكنني استخدام ريديس كما الخلفية الكرفس على حالات أوس EC2. لدي العديد من الآلات هناك - في البداية هو ويباب، على العمال الكرفس الثاني، على ثالث وسيط ريديس. بعد بعض الوقت (1-2 أيام) العمال بلدي توقف فجأة معالجة المهام. لقد تحققت من هذه الحالة، وأعتقد أن المشكلة موجودة في شفرة الكرفس، بالضبط على هذا الخط: هتبس: //github/celery/celery/blob/master/celery/backends/redis. py#L109.
على ما يبدو، أنه في بعض الأحيان أوس إسقاط اتصال صافي، ومقبس اتصال يموت. لأنه لا يوجد وسيطة socket_timeout في كونكتيونبول منشئ، لا يحدث استثناء والعمال بلدي الانتظار حتى إعادة تشغيلها (العمال بلدي تشغيل العمليات المشرف).
أنا عدلت الكرفس رمز على الخط 109، حتى الآن لدي هناك socket_timeout = 10 وليس هناك مشكلة مع العمال معلقة لأكثر من 3 أسابيع.
هل يمكنك إضافة بعض متغيرات الإعدادات لتجاوز الافتراضي socket_timeout كونكتيونبول من فضلك؟
طلب إضافة التزام الكرفس / كومبو التي أشار هذا العدد مارس 4، 2018.
أسأل علق مارس 4، 2018.
مع هذا يمكنك تعيين:
ربما يجب أن يكون هناك افتراض معقول هنا أيضا.
مسغر علق مارس 4، 2018.
طلب إضافة التزام الكرفس / كومبو أن المشار إليها هذه المسألة مارس 12، 2018.
مسغر علق مارس 14، 2018.
مرحبا أسأل، لدي سؤال صغير حول هذه المسألة - إذا كنت تستخدم الكرفس في جانغو مع مساعدة من دجسيليري التطبيق، يجب أن أضع ببساطة BROKER_TRANSPORT_OPTIONS إلى settings. py الملف؟ آسف على السؤال البكم، ولكن لم أجد أي إشارة في وثائق الكرفس عن BROKER_TRANSPORT_OPTIONS، وأنا لا أعرف على وجه التحديد كيف الكرفس، كومبو و دجسيليري يعمل معا. شكر!
تتوقف المهمة عند نشر نتيجة باستخدام ريديس باكيند # 2741.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.
الكرفس وسيط خيارات النقل.
وصف.
لاستخدام سيليريكسكوتور مع وسيط ريديس الحارس، يجب تزويد الكرفس مع القاموس من broker_transport_options مع زوج مفتاح / قيمة تقول ذلك اسم خدمة ريديس المطلوبة. يجب أن يكون هناك بروكر_transport_options في قسم الكرفس من تدفق الهواء. كفغ و سيليريكسكوتور يجب تمرير الخيارات في تكوين عامل الكرفس.
روابط المشكلات.
فشل إيرفلو-1494 وظيفة الردم بسبب إعادة المحاولة الجديدة يخرج عندما يتم تشغيل وظيفة صالحة.
إيرفلو-1555 قتل وظيفة الردم 1 ساعة بعد البدء.
إيرفلو-1131 دوكيروبيراتور مهلة الوقت وتتعثر في & كوت؛ تشغيل & كوت؛ إلى الأبد.
إيرفلو-1131 دوكيروبيراتور مهلة الوقت وتتعثر في & كوت؛ تشغيل & كوت؛ إلى الأبد.
كل التعليقات سجل عمل السجل عمليات الانتقال.
+1 هذا يؤثر أيضا على الكرفس على سوس، يتم استخدام broker_transport_options لتحديد المنطقة للعمل فيها.
الالتزام aa737a582c687e7105ef934ffc4da3dc78438235 في حاضنة-تدفق الهواء فرع ريفس / رؤساء / سيد من بولك دي بروين.
إيرفلو-966 جعل الكرفس broker_transport_options شكلي.
مطلوب لتغيير مهلة الرؤية وغيرها.
إغلاق # 2842 من بولدبروين / إيرفلو-966.
الالتزام aa737a582c687e7105ef934ffc4da3dc78438235 في حاضنة-تدفق الهواء فرع ريفس / رؤساء / سيد من بولك دي بروين.
إيرفلو-966 جعل الكرفس broker_transport_options شكلي.
مطلوب لتغيير مهلة الرؤية وغيرها.
BROKER_TRANSPORT_OPT لا يتم تعيين # 1932.
فراسرجراهام علق مارس 24، 2018.
لقد وضعت BROKER_TRANSPORT_OPTIONS لسائق ريديس لمدة 3 ساعات، ولكن لا يبدو أن الإعداد للعمل.
لدي هذا الخط في تكوين عامل بلدي وفي تكوين التطبيق جانغو أن يبدأ المهام.
عند فحص تكوين العامل عبر فلاور أرى تعيين BROKER_TRANSPORT_OPTIONS إلى <>
أفعل شيئا خاطئا؟
فراسرجراهام علق مارس 24، 2018.
أنا تشغيل الكرفس 3.1.10 الآن، ولكن رأيت هذا أيضا مع 3.0.24.
فراسرجراهام علق مارس 24، 2018.
أيضا، بلدي خادم جانغو هو دبيان ولكن العمال بلدي أوسك. وسيط ريديس هو أيضا دبيان.
أسأل علق مارس 24، 2018.
تعيين مهلة الرؤية في BROKER_TRANSPORT_OPTIONS تنتشر بشكل صحيح إلى ريديس النقل بالنسبة لي هنا. لا يظهر الإعداد في التفتيش كونف لسبب ما، ولكن لا تظهر في الكرفس - A تقرير المشروع.
فراسرجراهام علق مارس 25، 2018.
لقد تحققت من أن تقرير الكرفس يظهر.
وهو ما وضعت عليه، للاختبار. أنا خلقت مهمة تنتظر فقط لمدة 10 ثانية وتمكين ACKS_LATE لهذا العامل. ومع ذلك يبقى الإعداد مهلة الرؤية في 1 ساعة.
اسأل تعليق 6 نوفمبر 2018.
لا تزال تعمل بالنسبة لي، لذلك ليس كثيرا يمكنني القيام به حيال ذلك قبل أن يكون لدي تعليمات حول كيفية إنتاج.
اسأل تعليق 6 نوفمبر 2018.
راجع للشغل، أن طريقة الاختبار لا تبدو موثوقة للغاية. لا يدعم ريديس الإقرارات، لذا لكي تتم استعادة الرسالة فعليا، يجب أن يتم استدعاء رسالة البحث التي انتهت صلاحيتها من قبل المستهلك أولا.
الطريقة الأكثر موثوقية لاختبار هي بدء مهمة مع العد التنازلي أكبر من مهلة الرؤية:
ثم البدء فورا عامل جديد، من شأنها استعادة الرسائل عند بدء التشغيل.
لا توجد طريقة يمكننا ضمان استعادة بعد 1 ثانية، إلا إذا كان التعامل معها من قبل ريديس مباشرة.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.
No comments:
Post a Comment