Je ne peux pas démarrer le processus de travail retardé à l'aide d'une recette de capistrano. Voici l'erreur que je reçois. Voici le Capistrano Code (NOTE-: J'ai essayé les commandes de démarrage / redémarrage) P> 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
6 Réponses :
Ajoutez la création de ce répertoire avant
after "deploy:restart", "delayed_job:start" task :start, :roles => :app do run "mkdir #{current_path}/tmp/pids" run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -n 2 start" end
Voici comment j'ai corrigé le problème, j'ai passé un paramètre explicite PIDS DIR en utilisant "--Pid-dir". Je ne sais pas si c'est parfait, mais cela a fonctionné.
task :restart, :roles => :app do run "cd #{current_path}; RAILS_ENV=#{rails_env} script/delayed_job -n #{dj_proc_count} --pid-dir=#{app_root}/shared/dj_pids restart" end
J'ai aussi reçu cette erreur et j'ai trouvé quelques problèmes:
partagé / pids PIDS>. LI>
- Assurez-vous d'avoir la configuration correcte des crochets li>
ul>
Votre script deploy.rb doit contenir: P>
require "delayed/recipes"
after "deploy:stop", "delayed_job:stop"
after "deploy:start", "delayed_job:start"
after "deploy:restart", "delayed_job:restart"
Pareil ici. S'est passé lors de l'utilisation du paramètre Little-connu Shared_children Code> de Capistrano. Résolu par Symlinking en partage:
ln -s TMP / PIDS code>.
Réponse très utile a résolu mon problème. Merci beaucoup!
@ZUBIN, @wallerjake et @hilt: Je pense avoir le même problème de symbolisation: Actuelle / TMP / PIDS -> /var/www/apps/production.mysserver.de/shared/pids code> Alors Dois-je aller au
/var/www/apps/production.myserver.de/shared code> -Directory et entrez le
ln -s tmp / pids code> -Command? Je ne suis pas vraiment ferme dans les commandes Unix :( merci!
ok la seule chose que je dois faire était de créer le pids code> -Directory dans
/var/www/apps/production.myserver.de/shared code> :)
Voir le même problème. p>
Il s'avère que je manquais le Enfin, la création de cela a fait disparaître ce problème. p>
Nul besoin de configurer la personnalisation ~ / apps / applications / nom_fr / pids / pids code>. p>
dj_pids code>. p>
Étant donné que la création des répertoires est bon marché et rapide, utilisez le rappel suivant:
before 'deploy', 'deploy:setup'
J'ai eu le même problème. S'est avéré qu'il y avait un p> existant
Application_Name / partagé / PIDS / DeleDeD_JOB.MAIN.PID P> blockQuote>
fichier, qui avait des autorisations de propriétaire incorrectes, ce qui a entraîné l'échec du déploiement. Fixer les autorisations de ce fichier a résolu le problème pour moi. P>