2012-10-24 8 views
5

मैं कैपिस्ट्रानो का उपयोग करके अपने रेल एप्लिकेशन डब्ल्यू/प्यूमा को तैनात करने का प्रयास कर रहा हूं। तैनाती ofthe अंत की ओर यहप्यूमा .स्टेट फ़ाइल

bundle exec pumactl -S /home/deployer/production/shared/sockets/puma.state restart

जो डब्ल्यू विफल रहता है/चलाने के लिए प्रयास करता है

undefined method `has_key?' for false:FalseClass. 

मैं बस puma.state के लिए एक खाली फ़ाइल बनाया है। मेरा सवाल यह है कि यह फ़ाइल वास्तव में क्या है और इसमें क्या होना चाहिए?

उत्तर

9

प्यूमा की एक राज्य फ़ाइल है जो प्रक्रिया के पीआईडी ​​को रिकॉर्ड करती है। यदि आप पहली बार तैनाती रहे हैं, तो आप आप प्यूमा मैन्युअल

cap puma:start

हो जाएगा ताकि तरह कुछ उपयोग शुरू कर सकते .state फ़ाइल को नष्ट करना चाहिए, और एक

cap deploy:cold

करते हैं या, प्रक्रिया शुरू करें और एक वैध राज्य फ़ाइल बनाएँ। कैपिस्ट्रानो में मेरा प्यूमा स्टार्ट कमांड है:

namespace :puma do 

    desc "Start the application" 
    task :start, :roles => :app, :except => { :no_release => true } do 
    run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec puma -t 8:32 -b 'unix://#{shared_path}/sockets/puma.sock' -S #{shared_path}/sockets/puma.state --control 'unix://#{shared_path}/sockets/pumactl.sock' >> #{shared_path}/log/puma-#{rails_env}.log 2>&1 &", :pty => false 
    end 
    after "deploy:start", "puma:start" 
end 
संबंधित मुद्दे