2011-07-01 17 views
6

हमें हमारे अजवाइन डिमन के साथ बहुत ही कमजोर होने में समस्याएं आ रही हैं। जब भी हम परिवर्तन को दबाते हैं, हम डिमन को पुनरारंभ करने के लिए एक कपड़े परिनियोजन स्क्रिप्ट का उपयोग करते हैं, लेकिन किसी कारण से यह बड़े पैमाने पर समस्याएं पैदा कर रहा है।अजवाइन डिमन के साथ मुद्दे

जब भी तैनाती स्क्रिप्ट चलाया जाता है तो कुछ छद्म मृत राज्य में अजवाइन प्रक्रियाएं छोड़ी जाती हैं। वे (दुर्भाग्य से) अभी भी rabbitmq से कार्यों का उपभोग करेंगे, लेकिन वे वास्तव में कुछ भी नहीं करेंगे। भ्रमित रूप से एक संक्षिप्त निरीक्षण से पता चलता है कि सब कुछ इस राज्य में "ठीक" लगता है, celeryctl स्थिति एक नोड ऑनलाइन और ps aux दिखाती है। grep अजवाइन 2 चल रही प्रक्रियाओं को दिखाता है।

हालांकि, /etc/init.d/celeryd मैन्युअल रोक निम्न त्रुटि में परिणाम चलाने का प्रयास:

start-stop-daemon: warning: failed to kill 30360: No such process 

में इस राज्य celeryd शुरू चलाने का प्रयास सही ढंग से काम करने के लिए प्रकट होता है, लेकिन वास्तव में करता है कुछ भी तो नहीं। समस्या को ठीक करने का एकमात्र तरीका है चलने वाली सेलरी प्रक्रियाओं को मैन्युअल रूप से मारना और फिर उन्हें फिर से शुरू करना।

कोई विचार क्या हो रहा है? हमारे पास पूर्ण पुष्टि भी नहीं है, लेकिन हमें लगता है कि समस्या कुछ दिनों के बाद भी विकसित होती है (बिना किसी गतिविधि के यह वर्तमान में एक परीक्षण सर्वर है) पर कोई तैनाती नहीं है।

+0

हम एक तैनाती स्क्रिप्ट का भी उपयोग करते हैं, लेकिन कपड़े के साथ नहीं, हम केवल शेल कमांड सेलेरीड को पाइथन से पुनरारंभ करते हैं, और सब कुछ ठीक काम करता है। मुझे चलने की प्रक्रिया के लिए बैश निर्देश के कारण 10.10 से कम, उबंटू के पुराने संस्करण के साथ celeryd.sh स्क्रिप्ट के कुछ मुद्दों को पता है। किस ओएस पर आप इसे चला रहे हैं? अजवाइन का कौन सा संस्करण? –

+0

आपकी स्क्रिप्ट डिमन को फिर से कैसे शुरू करती है? क्या यह सिर्फ 'मार -9' या इसी तरह से गोलीबारी कर रहा है? –

+0

यह init.d स्क्रिप्ट के स्टॉप कमांड को ट्रिगर करता है। यह शामिल है init.d स्क्रिप्ट अजवाइन की github contrib फाइलों से उपलब्ध है। यह स्टॉप के बजाय फिर से शुरू करने के लिए प्रयुक्त होता था, फिर शुरू होता था, लेकिन मैंने इसे अंधेरे में एक शॉट के रूप में बदल दिया। Init.d स्क्रिप्ट स्टार्ट-स्टॉप-डिमन कमांड – John

उत्तर

5

मैं यह नहीं कह सकता कि मुझे पता है कि आपके सेटअप में क्या बीमार है, लेकिन मैंने हमेशा सेलेरी चलाने के लिए पर्यवेक्षक का उपयोग किया है - शायद समस्या को अपस्टार्ट के साथ करना है? भले ही, मैंने कभी पर्यवेक्षक के शीर्ष पर चलने वाली अजवाइन के साथ इसका अनुभव नहीं किया है।

अच्छा उपाय के लिए, यहाँ अजवाइन के लिए एक नमूना पर्यवेक्षक config है: मेरी फैब लिपि में

[program:celeryd] 
directory=/path/to/project/ 
command=/path/to/project/venv/bin/python manage.py celeryd -l INFO 
user=nobody 
autostart=true 
autorestart=true 
startsecs=10 
numprocs=1 
stdout_logfile=/var/log/sites/foo/celeryd_stdout.log 
stderr_logfile=/var/log/sites/foo/celeryd_stderr.log 

; Need to wait for currently executing tasks to finish at shutdown. 
; Increase this if you have very long running tasks. 
stopwaitsecs = 600 

पुन: प्रारंभ हो celeryd तो एक sudo supervisorctl restart celeryd जारी करने के रूप में सरल है।

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