2012-12-11 15 views
6

पर श्रमिकों को जन्म देने में असफल रहा, मैं यूनिकॉर्न के साथ शून्य डाउनटाइम परिनियोजन प्राप्त करने के लिए मास्टर प्रक्रिया में यूएसआर 2 सिग्नल भेज रहा हूं।यूनिकॉर्न यूएसआर 2 सिग्नल

adding listener failed addr=/path/to/unix_socket (in use) 

unicorn-4.3.1/lib/unicorn/socket_helper.rb:140:in `initialize': 
Address already in use - /path/to/unix_socket (Errno::EADDRINUSE) 

पुराने मास्टर unicorn.rb कॉन्फ़िग फ़ाइल पर before_fork ब्लॉक में मार दिया जाता है: के बाद पुराने मास्टर मर चुका है, मैं निम्न त्रुटि हो रही है। प्रक्रिया को डेमॉन (-डी) विकल्प के बिना अपस्टार्ट के माध्यम से शुरू किया गया है। क्या हो रहा है पर कोई विचार?

+0

कैम आप अपने unicorn.rb से पहले_फोर ब्लॉक साझा करते हैं? – pschuegr

उत्तर

2

ठीक है, अगर आप शून्य डाउनटाइम परिनियोजन करने में सक्षम होना चाहते हैं तो आपको डिमोनाइज्ड मोड (-D) में भागना होगा। मैंने अपनी अपस्टार्ट स्क्रिप्ट में कुछ चीजें बदलीं और अब यह ठीक काम करता है:

setuid username 
pre-start exec unicorn_rails -E production -c /path/to/app/config/unicorn.rb -D 
post-stop exec kill cat `/path/to/app/tmp/pids/unicorn.pid` 
respawn 
संबंधित मुद्दे