पर्यवेक्षक हमेशा 'निकास स्थिति 0 के साथ प्रक्रिया छोड़ देता है; उम्मीद नही थी'


13

मैं वर्तमान में अपने vps का पुनर्निर्माण कर रहा हूं, और मैं अपने gunicorn / wsgi django प्रक्रियाओं के प्रबंधन के लिए पर्यवेक्षक का उपयोग करना चाहूंगा। बात यह है, पर्यवेक्षक प्रक्रियाओं से बाहर रहता है:

2010-07-23 14:54:40,575 INFO supervisord started with pid 31391
2010-07-23 14:54:41,582 INFO spawned: 'projectx' with pid 31395
2010-07-23 14:54:41,691 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:42,695 INFO spawned: 'projectx' with pid 31401
2010-07-23 14:54:42,801 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:44,806 INFO spawned: 'projectx' with pid 31404
2010-07-23 14:54:44,912 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:47,917 INFO spawned: 'projectx' with pid 31408
2010-07-23 14:54:48,022 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:49,023 INFO gave up: projectx entered FATAL state, too many start retries too quickly

यह वह विन्यास है जिसका मैं उपयोग कर रहा हूं:

[program:projectx]
command=/path/to/project/bin/gunicorn_django -c /path/to/project/project/gunicorn.conf.py /path/to/project/project/production.py
user=myuser
autostart=true
autorestart=true

मैंने पहले ही डबल चेक किया, और gunicorn_django ने स्टेटस 0 तब लौटाया जब इसे सही ढंग से लिखा गया।

मैंने स्पष्ट रूप से कॉन्फ़िगर करने के लिए एक्स्कोड्स = 0,2 जोड़ने की कोशिश की, लेकिन इससे कोई फर्क नहीं पड़ता। ऐसा लगता है कि प्रक्रिया सही ढंग से शुरू की गई है, लेकिन पर्यवेक्षक को लगता है कि यह नहीं हुआ।

क्या किसी को यह कैसे हल करने पर एक सुराग है?

धन्यवाद, ब्योर्न

जवाबों:


12

यदि gunicorn_django खुद को डीमॉनेटाइज़ कर रहा है, तो यह उस तरह का प्रोग्राम पर्यवेक्षक नहीं है जिसे प्रबंधित करने के लिए डिज़ाइन किया गया है। पर्यवेक्षक को अपने पर्यवेक्षित कार्यक्रमों को अग्रभूमि में चलाने की उम्मीद है ताकि यह देख सकें कि क्या वे बाहर निकल गए हैं।

पर्यवेक्षक डॉक्स देखें ।


gunicorn डिफ़ॉल्ट रूप से स्वयं को नहीं बताता है, लेकिन मैंने इसे अपनी कॉन्फ़िगरेशन फ़ाइल में सेट किया है। मैंने इसे हटा दिया, यह इंगित करने के लिए धन्यवाद।
ब्योर्न

4

ठीक है, कुछ हैरान करने के बाद मुझे लगा कि यह उपयोगकर्ताओं के साथ कुछ करना है। मैंने एक निश्चित उपयोगकर्ता के रूप में अपने बच्चे की प्रक्रियाओं को चलाने की कोशिश की। लाइन को हटाने के बाद (नीचे मेरा कॉन्फ़िगरेशन देखें), सब कुछ ठीक काम कर रहा है।

अंगरखा विन्यास:

bind = "127.0.0.1:3305"
workers = 2

पर्यवेक्षक विन्यास:

[program:projectx]
command=/path/to/project/bin/gunicorn_django -c /path/to/project/project/gunicorn.conf.py /path/to/project/project/production.py
; set the user here instead of in the gunicorn config.
user=user
autostart=true
autorestart=unexpected
stdout_logfile=/path/to/project/logs/project.log
redirect_stderr=true
exitcodes=1

1
बस एक त्वरित ध्यान दें कि यदि आप इस मांस को बाहर निकालना चाहते हैं, तो माईसर के लिए मुकदमा करना और अंगरखा चलाना एक संकेत देना चाहिए। सामान्य संदिग्धों लॉग और पीआईडी ​​फ़ाइलें नहीं लेखन योग्य हैं। वैकल्पिक रूप से, आपके ऐप को फ़ाइल अनुमति की भी आवश्यकता हो सकती है। और बस एक त्वरित ध्यान दें कि बेहतर पर्यवेक्षक समर्थन के लिए आपको 0.10 में अपग्रेड करना चाहिए क्योंकि हमने सुपरसिनॉर्ड (या उस मामले के लिए रनिट) के माध्यम से एक अंगरखा को फिर से शुरू करने के साथ एक मुद्दा तय किया है।
पॉल जे डेविस

0

पर्यवेक्षक के तहत एक http डेमन को निष्पादित करने की कोशिश करते समय मुझे एक समान त्रुटि मिली।

पुरानी पिड फ़ाइल को हटाकर फिक्स्ड: httpd_pid

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.