Hi, i''m striving to capistranize a foo app on DH. Everything is hosted on DH to simplify a bit : - svn repository (http access) - the application - the DB I used the recipe of Jamis Buck modified by Geoffrey Grosenbach which you can find here : http://nubyonrails.com/pages/shovel_dreamhost I did the least modifications possible. As recommended. 1) When I launch the ''rake deploy'' it appears that the reaper and spawner script are not correctly "chmoded", neither is executable. So I get an error message "permission denied". 2) Anyway I connect thru ssh and do the work manually : chmod +x reaper chmod +x spawner ./reaper --dispatcher=dispatch.fcgi and the response is : Couldn''t find any process matching: dispatch.fcgi By the way, the dispatch.* files are not executable but chmoding them doesn''t change the response (it is perhaps obvious) Any idea ? Didier
On 5/18/06, Didier Vaiser <dvaiser@cirb.irisnet.be> wrote:> > 1) When I launch the ''rake deploy'' it appears that the reaper and > spawner script are not correctly "chmoded", neither is executable. So I > get an error message "permission denied".One of the few things I do in the after update code tasks are: desc "Tasks to execute after code update" task :after_update_code, :roles => [:app, :db] do # ..snip... sudo "chmod -R +x #{release_path}/script/*" sudo "chown -R #{user} #{release_path}/script/*" # ..snip.. end I think you can also get away with just: run "chmod 755 #{release_path}/script/process/spawner" run "chmod 755 #{release_path}/script/process/reaper" doing the numeric executable for owning user if you''re paranoid. 2) Anyway I connect thru ssh and do the work manually :> > chmod +x reaper > chmod +x spawner > ./reaper --dispatcher=dispatch.fcgi > > and the response is : > > Couldn''t find any process matching: dispatch.fcgiThis is because you might be launching: /path/to/app/releases/release_num/public/dispatch.fcgi but are now trying to reap: /path/to/app/current/dispatch.fcgi see which ones are running by using: ps aux | grep dispatch.fcgi and compare that to the ones your reaper is trying to reap. I also have an updated spin task that is not hardcoded to the server, though it requires a little unix scripting, see: http://wiki.rubyonrails.com/rails/pages/LighttpdWithProcessScripts until I finish my writeups. I''d like to add this to the real Deploying with Capistrano page, as I''ve setup quite a few boxen for our customers and clients using capistrano with single servers and multi-boxen (web/app and db separate), but I''m working on that. hope that helps, -- Charles Brian Quinn www.seebq.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060524/cf7e6723/attachment.html
Hi, i''m still experiencing problems ... though i tested> desc "Tasks to execute after code update" > task :after_update_code, :roles => [:app, :db] do > # ..snip... > sudo "chmod -R +x #{release_path}/script/*" > sudo "chown -R #{user} #{release_path}/script/*" > # ..snip.. > endwhere i changed sudo in run as i''m not a sudoer user and added the line run "chmod -R 755 #{release_path}/public" the task executes without problem. But i still get the error when the reaper tries to execute> Couldn''t find any process matching: /path/to/app/current/public/dispatch.fcgihowever dispatch.fcgi exists, is 755 as anything else in public/ and the symlink ''current'' references the correct release> > This is because you might be launching: > > /path/to/app/releases/release_num/public/dispatch.fcgi > > but are now trying to reap: > > /path/to/app/current/dispatch.fcgi > > [...]>> -- > Charles Brian Quinn > www.seebq.com <http://www.seebq.com>i''m a bit disappointed ! Didier
Didier Vaiser wrote:> But i still get the error when the reaper tries to execute > >> Couldn''t find any process matching: /path/to/app/current/public/dispatch.fcgi > > however dispatch.fcgi exists, is 755 as anything else in public/ and the > symlink ''current'' references the correct releaseI''ve seen this problem on Dreamhost. What''s happening is that because of a bit of software involved in the hosting setup (I can''t remember the name at the moment), absolute paths don''t look the same from a script as they do from a shell. For example: server:~ me$ pwd /home/me server:~ me$ ruby -e ''puts `pwd`'' /home/.chandra/me server:~ me$ perl -e ''print `pwd`'' /home/.chandra/me There are a few other problems with the stock reaper script -- for example, if you''ve got two or more applications running, it doesn''t distinguish between them. I''ve written a "smart" replacement script. I''ve got a bit more testing to do before I release it to the world, but I''ve been pleased with it so far. It parses the FCGI crash log to find out which dispatcher processes are running for a specific app, and adds an "expire" command for dispatchers that have become unresponsive (which I see a lot on Dreamhost). if you''d like to help test, send me an email: anejr at alevans.com. I''ll be happy to send you a copy. --Al Evans -- Posted via http://www.ruby-forum.com/.