मैं रेल के लिए देरी नौकरी जैसी प्रक्रियाओं का प्रबंधन करने के लिए ब्लूपिल का उपयोग कर रहा हूं। BluePill लॉग में, मैं इस संदेश को हो रही है:देरी हुई नौकरी शुरू करने के लिए प्रक्रिया प्रबंधक का उपयोग करते समय पीआईडी फ़ाइल गुम हो रही है
W, [2010-09-27T01:23:20.447053 #19441] WARN -- : [fsg_distro:delayed_job] pid_file /srv/fsg_distro/shared/pids/delayed_job.pid does not exist or cannot be read
W, [2010-09-27T01:23:20.447368 #19441] WARN -- : [fsg_distro:delayed_job] Executing start command: ruby script/delayed_job -e production start
I, [2010-09-27T01:23:20.469165 #19441] INFO -- : [fsg_distro:delayed_job] Going from down => starting
तो यह दावा कर रहा है कि एक पीआईडी फ़ाइल याद आ रही है, यह है जो, लेकिन वह बनाया जा पीआईडी नहीं करना चाहिए जब BluePill विलंबित नौकरी की प्रक्रिया शुरू?
अद्यतन में थोड़ा और अधिक इस त्रुटि के बारे में स्पष्ट होना करने के लिए, मैं सफलतापूर्वक मैन्युअल आदेश चला सकते हैं, लेकिन Bluepill शुरू कमांड को चलाने के लिए विफल रहता है। जब मैं इसे मैन्युअल रूप से चलाने के लिए, यह इस तरह दिखता है:
[email protected]:/srv/fsg_distro/current$ /usr/bin/env RAILS_ENV=production /usr/bin/ruby /srv/fsg_distro/current/script/delayed_job start
delayed_job: process with pid 17564 started.
यह इस तरह दिखता है जब मैं यह Bluepill साथ चलाएँ:
W, [2010-10-03T21:24:13.943136 #17326] WARN -- : [fsg_distro:delayed_job] pid_file /srv/fsg_distro/shared/pids/delayed_job.pid does not exist or cannot be read
W, [2010-10-03T21:24:13.943391 #17326] WARN -- : [fsg_distro:delayed_job] pid_file /srv/fsg_distro/shared/pids/delayed_job.pid does not exist or cannot be read
I, [2010-10-03T21:24:13.943811 #17326] INFO -- : [fsg_distro:delayed_job] Going from starting => down
W, [2010-10-03T21:24:14.945274 #17326] WARN -- : [fsg_distro:delayed_job] pid_file /srv/fsg_distro/shared/pids/delayed_job.pid does not exist or cannot be read
W, [2010-10-03T21:24:14.945495 #17326] WARN -- : [fsg_distro:delayed_job] pid_file /srv/fsg_distro/shared/pids/delayed_job.pid does not exist or cannot be read
W, [2010-10-03T21:24:14.945826 #17326] WARN -- : [fsg_distro:delayed_job] Executing start command: /usr/bin/env RAILS_ENV=production /usr/bin/ruby /srv/fsg_distro/current/script/delayed_job start
W, [2010-10-03T21:24:15.049261 #17326] WARN -- : [fsg_distro:delayed_job] Start command execution returned non-zero exit code:
W, [2010-10-03T21:24:15.049491 #17326] WARN -- : [fsg_distro:delayed_job] {:stderr=>"", :exit_code=>1, :stdout=>""}
I, [2010-10-03T21:24:15.049947 #17326] INFO -- : [fsg_distro:delayed_job] Going from down => starting
मेरे गोली इस तरह दिखता है:
APP_ROOT='/srv/fsg_distro'
RAILS_ROOT='/srv/fsg_distro/current'
RAILS_ENV='production'
RUBY_EXEC='/usr/bin/ruby'
Bluepill.application("fsg_distro", :log_file => "/srv/fsg_distro/shared/log/bluepill.log") do |app|
app.process("delayed_job") do |process|
process.working_dir = RAILS_ROOT
process.start_grace_time = 30.seconds
process.stop_grace_time = 30.seconds
process.restart_grace_time = 30.seconds
process.start_command = "/usr/bin/env RAILS_ENV=#{RAILS_ENV} #{RUBY_EXEC} #{RAILS_ROOT}/script/delayed_job start"
process.stop_command = "/usr/bin/env RAILS_ENV=#{RAILS_ENV} #{RUBY_EXEC} #{RAILS_ROOT}/script/delayed_job stop"
process.pid_file = "#{APP_ROOT}/shared/pids/delayed_job.pid"
process.uid = "deploy"
process.gid = "deploy"
end
end
और मेरी देरी वाली जॉब स्क्रिप्ट इस तरह दिखती है:
#!/usr/bin/env ruby
ENV['RAILS_ENV'] ||= 'production'
require File.dirname(__FILE__) + '/../config/environment'
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
2 प्रश्न यह देख रहे हैं कि यह अभी भी अनुत्तरित नहीं है। फ़ोल्डर/srv/fsg_distro/साझा/pids/को लिखने के लिए आपको किस अनुमति की आवश्यकता होगी और क्या उपयोगकर्ता रेल (मशीन जॉर्ज से?) में उन अनुमतियां हैं? – Hugo
ब्लूपिल और मुझे लॉग इन किया गया एक ही उपयोगकर्ता है .... जब तक उपयोगकर्ता स्वामी या समूह में होता है, तो वह पिड्स निर्देशिका में लिख सकता है – Tony