2010-07-23 14 views
12

मैंने एक Django वेब एप्लिकेशन और कुछ Django-Piston सेवाओं का निर्माण किया है। वेब इंटरफ़ेस का उपयोग करने वाला कोई उपयोगकर्ता कुछ डेटा सबमिट करता है जो वेब सेवा पर पोस्ट किया जाता है और बदले में वह वेब सेवा पृष्ठभूमि कार्य शुरू करने के लिए Django-Celery का उपयोग करती है।उत्पादन में Django-Celery चल रहा है

प्रबंधन.py का उपयोग कर विकास पर्यावरण में सब कुछ ठीक काम करता है। अब मैं इसे उचित अपाचे सर्वर पर उत्पादन में स्थानांतरित करने की कोशिश कर रहा हूं। वेब एप्लिकेशन और वेब सेवाएं उत्पादन में ठीक काम करती हैं लेकिन मुझे एक डिमन के रूप में सेलरीड शुरू करने में गंभीर समस्याएं आ रही हैं। इन निर्देशों के आधार पर: http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon मैंने एक celeryconfig.py फ़ाइल बनाई है और इसे/usr/bin निर्देशिका में फंस गया है (यह वह जगह है जहां celeryd मेरे आर्क लिनक्स सर्वर पर स्थान है)।

CELERYD_CHDIR="/srv/http/ControllerFramework/" 
DJANGO_SETTINGS_MODULE="settings" 
CELERYD="/srv/http/ControllerFramework/manage.py celeryd" 

लेकिन जब मैं कमांड लाइन मैं निम्नलिखित त्रुटि मिलती से celeryd प्रारंभ करने का प्रयास:

"Missing connection string! Do you have " 
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have CELERY_RESULT_DBURI set to a real value? 

सुनिश्चित नहीं हैं कि जहां यहां से जाने के लिए। नीचे मेरी settings.py खंड है, क्योंकि यह इस समस्या से संबंधित है:

BROKER_HOST = "localhost" 
BROKER_PORT = 5672 
BROKER_USER = "controllerFramework" 
BROKER_PASSWORD = "******" 
BROKER_VHOST = "localhost" 
+0

क्या वास्तव में कहीं भी 'CELERY_RESULT_DBURI' सेट है? –

+0

मैं निम्नलिखित करने के लिए है कि मूल्य की स्थापना की कोशिश की: CELERY_RESULT_BACKEND = 'AMQP' लेकिन जब मैं चलाने के लिए celeryd कोशिश मैं एक त्रुटि मिलती है: [2010-07-23 12: 46: 13,138: चेतावनी/MainProcess] बढ़ा KeyError ("AMQP कनेक्शन के लिए गुमनाम होस्टनाम।") [2010-07-23 12: 46: 13,138: चेतावनी/मुख्यप्रोसेसर] KeyError [2010-07-23 12: 46: 13,138: चेतावनी/मुख्य प्रक्रिया]: [2010 -07-23 12: 46: 13,139: चेतावनी/मुख्य प्रक्रिया] 'एएमक्यूपी कनेक्शन के लिए गुमनाम होस्टनाम'। चूंकि मुझे यह त्रुटि मिली है और मुझे django-celery के लिए प्रलेखन में कहीं भी नहीं मिला है कि यह मान सेट करने की आवश्यकता है, मुझे लगता है कि मैं कुछ गलत कर रहा था। – Przemek

+0

मैं अनुमान लगा रहा हूं कि शायद उत्पादन में चलने पर सेटिंग celeryconfig.py में होनी चाहिए? और settings.py में नहीं। उस स्थिति में, celeryconfig.py फ़ाइल को जोड़ा जाना चाहिए था? – Przemek

उत्तर

8

तो मैं Django-अजवाइन पर परियोजना नेतृत्व के साथ बातचीत कर रही है समाप्त हो गया। चीजों की जोड़ी। 'Manage.py celeryd' का उपयोग करके पहले सेलेरी को चलाया जाना चाहिए। दूसरा, सेटिंग्स.py फ़ाइल में आपको 'djcelery आयात करें' यह आयात समस्या अगले संस्करण में तय की जा सकती है लेकिन अभी के लिए आपको यह करना है।

संबंधित मुद्दे