मैं अपने Django परीक्षणों के दौरान सेलरी कार्य को चलाने के बिना सिलेरी कार्यों को सिंक्रनाइज़ करना चाहता हूं। इसे प्राप्त करने के लिए मैंने अपने सेटिंग्स.py में CELERY_ALWAYS_EAGER=True
निर्दिष्ट किया है लेकिन यह काम नहीं कर रहा है। तो मुझे लगता है कि लग रहा है इसDjango परीक्षण में सिलेरी कार्य को सिंक्रनाइज़ नहीं कर सकता
@override_settings(CELERY_ALWAYS_EAGER=True, BROKER_BACKEND='memory',
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True)
def test_foo(self):
...
दुर्भाग्य से, यह परीक्षण अभी भी कार्य मेरी अजवाइन कार्यकर्ता में invokes की तरह विशेष परीक्षा के लिए डेकोरेटर override_settings लागू करने का फैसला। मैं क्या याद कर सकता हूँ? विशिष्ट होने के लिए, मैं सेलेरी 4.0.0 के साथ Django 1.10 का उपयोग कर रहा हूं।
अजवाइन संबंधित सेटिंग्स स्टार्टअप समय पर अजवाइन अनुप्रयोग में कुछ में स्मृति वस्तु पर कायम रहे हैं आपके परीक्षण धावक के, उन्हें ओवरराइड करने का कोई प्रभाव नहीं पड़ सकता है। क्या आपने अपने परीक्षण धावक को अपनी इच्छित सेटिंग्स के साथ एक अलग सेटिंग्स फ़ाइल के साथ शुरू करने का प्रयास किया है? – schwobaseggl
यह ज्ञात मुद्दा प्रतीत होता है। विषय पर एक चर्चा है (https://groups.google.com/forum/#!topic/celery-users/1WmrfFZ9nHs)। वे 'celery.Celery()। Conf' ऑब्जेक्ट पर रनटाइम पर सेटिंग बदलते हैं, सामान्य 'django.conf' नहीं – schwobaseggl