Ich kann den verzögerten Job-Prozess nicht mit einem Capistrano-Rezept starten. Hier ist der Fehler, den ich bekomme.Verzögerter Job wird nicht mit Capistrano gestartet
/usr/local/lib/ruby/gems/1.9.1/gems/delayed_job-2.1.1/lib/delayed/command.rb:62:in `mkdir': File exists - /my_app/server/releases/20101120001612/tmp/pids (Errno::EEXIST)
Hier ist der Capistrano Code (HINWEIS-: Ich habe versucht, sowohl Start/Befehle neu starten)
after "deploy:restart", "delayed_job:start"
task :start, :roles => :app do
run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -n 2 start"
end
Weitere Einzelheiten Fehler von der Bereitstellung logs -
executing command
[err :: my_server] /usr/local/lib/ruby/gems/1.9.1/gems/delayed_job-2.1.1/lib/delayed/command.rb:62:in `mkdir': File exists - /my_app/server/releases/20101120001612/tmp/pids (Errno::EEXIST)
[err :: my_server] from /usr/local/lib/ruby/gems/1.9.1/gems/delayed_job-2.1.1/lib/delayed/command.rb:62:in `daemonize'
[err :: my_server] from script/delayed_job:5:in `<main>'
command finished
failed: "sh -c 'cd /my_app/server/current; RAILS_ENV=production script/delayed_job -n 3 restart'" on myserevr
Dies ist eine Rails 3 app (v3.0.3)
Das gleiche hier. Passiert, wenn Sie die wenig bekannte "shared_children" -Einstellung von capistrano verwenden. Gelöst durch Symlinking in shared: 'ln -s tmp/pids'. – Zubin
Sehr hilfreiche Antwort löste mein Problem. Vielen Dank! – wallerjake
@Zubin, @wallerjake und @PhilT: ich denke, ich habe das gleiche symlinking-problem: 'current/tmp/pids ->/var/www/apps/production.myserver.de/shared/pids' ich auch muss zum '/var/www/apps/production.myserver.de/shared'-directory gehen und den 'ln -s tmp/pids'-Befehl eingeben? Ich bin nicht wirklich fest in Unix-Befehle :( es Ihnen danken! – levitas111