Hey Jamis, that worked for my hanging put problem! doesn't hang
anymore.

On Sep 26, 9:24 am, Jamis Buck <[EMAIL PROTECTED]> wrote:
> Yeah, I strongly suspect you're being bitten by a put bug, which I've
> never been able to duplicate, but which I strong suspect is related
> to some bad design decisions in Net::SSH and Net::SFTP. I'm very
> hopeful that the new Net::SSH and Net::SFTP rewrites will help
> this...but that doesn't help you right now.
>
> What if you do this at the top of your deploy.rb:
>
>    set :synchronous_connect, true
>
> That flag was added to help some people who reported the upload-
> hanging issue, and it seemed to work in some cases.
>
> - Jamis
>
> On Sep 26, 2007, at 10:16 AM, Jon Rosebaugh wrote:
>
>
>
> > On 9/26/07, Jamis Buck <[EMAIL PROTECTED]> wrote:
> >> I suspect you're being bitten by the "put bug" (which is really a bug
> >> in Net::SSH somewhere). Do you have a gateway configured in your cap
> >> recipes anywhere?
>
> > Nope, here is our complete cap setup, with urls altered for privacy:
>
> > I deploy by running cap <target> deploy. e.g., "cap public deploy" for
> > public server, which is where we're having the problem.
>
> > Capfile:
> > load 'deploy' if respond_to?(:namespace) # cap2 differentiator
> > require 'lib/extensions/mongrel_recipes'
> > load 'config/deploy'
>
> > config/deploy.rb:
> > set :application, "nexus"
> > set :repository, "http://svn/project_repository/branches/0.5";
> > set :deploy_via, :checkout
> > set :user, "deploy"
> > set(:mongrel_conf) { "#{current_path}/config/mongrel_cluster.yml" }
> > set(:deploy_to) { "/u/apps/#{application}"}
>
> > task :build do
> >   role :web, "buildserver"
> >   role :app, "buildserver"
> >   role :db, "buildserver"
> >   set :application, "nexus_build"
> >   set :repository, "http://svn/project_repository/trunk/";
> >   set :mongrel_conf, "#{current_path}/config/
> > mongrel_build_cluster.yml"
> > end
>
> > task :mirror do # this one is an exact copy of the public server
> >   role :web, "buildmirror"
> >   role :app, "buildmirror"
> >   role :db, "buildmirror"
> > end
>
> > task :public do
> >   role :web, "publicserver.outsideourfirewall.com"
> >   role :app, "publicserver.outsideourfirewall.com"
> >   role :db,  "publicserver.outsideourfirewall.com"
> >   set :deploy_via, :copy
> >   set :copy_strategy, :checkout
> >   set :copy_compression, :zip
> > end
>
> > namespace :deploy do
> >   task :migrate do
> >     # this is deliberately empty, since we don't do migrations.
> >   end
>
> > end
>
> > lib/extensions/mongrel_recipes..rb:
> > Capistrano::Configuration.instance(:must_exist).load do
> >   depend :remote, :gem, "mongrel_cluster", ">=0.2.1"
> >   after "deploy:setup", "mongrel:cluster:setup"
>
> >   set(:mongrel_servers, 3)
> >   set(:mongrel_port) { abort 'Please configure the mongrel_port
> > variable before deploying' }
> >   set(:mongrel_address, "127.0.0.1")
> >   set(:mongrel_environment, "production")
> >   set(:mongrel_user) { user }
> >   set(:mongrel_group) { user }
> >   set(:mongrel_prefix, nil)
> >   set(:mongrel_num_procs, 3)
> >   set(:mongrel_conf) { File.join(shared_path, 'config',
> > 'mongrel_cluster.yml') }
> >   set(:mongrel_startup_file) { File.join('/etc', 'mongrel_cluster',
> > "#{application}.yml") }
>
> >   namespace :mongrel do
> >     namespace :cluster do
> >       desc <<-DESC
> >       Configure Mongrel processes on the app server. This uses
> > the :use_sudo
> >       variable to determine whether to use sudo or not. By
> > default, :use_sudo is
> >       set to true.
> >       DESC
> >       task :setup, :roles => :app do
> >         argv = []
> >         argv << "mongrel_rails cluster::configure"
> >         argv << "-N #{mongrel_servers.to_s}"
> >         argv << "-p #{mongrel_port.to_s}"
> >         argv << "-e #{mongrel_environment}"
> >         argv << "-a #{mongrel_address}"
> >         argv << "-c #{current_path}"
> >         argv << "-C #{mongrel_conf}"
> >         argv << "-n #{mongrel_num_procs}"
> >         argv << "--user #{mongrel_user}" if mongrel_user
> >         argv << "--group #{mongrel_group}" if mongrel_group
> >         argv << "--prefix #{mongrel_prefix}" if mongrel_prefix
> >         cmd = argv.join " "
> >         # Try to create shared/config
> >         sudo "mkdir -p #{File.dirname(mongrel_conf)}"
> >         # sudo the command to generate a shared/config/
> > mongrel_cluster.yml
> >         sudo cmd
> >         # Try to create /etc/mongrel_cluster
> >         sudo "mkdir -p #{File.dirname(mongrel_startup_file)}"
> >         sudo <<-CMD
> >           if [ ! -e #{mongrel_startup_file} ] ; then
> >             ln -s #{mongrel_conf} #{mongrel_startup_file} ;
> >           fi
> >         CMD
> >       end
>
> >       desc <<-DESC
> >       Start Mongrel processes on the app server.  This uses the
> > :use_sudo variable to determine whether to use sudo or not. By
> > default, :use_sudo is
> >       set to true.
> >       DESC
> >       task :start, :roles => :app do
> >         sudo "mongrel_rails cluster::start -C #{mongrel_conf}"
> >       end
>
> >       desc <<-DESC
> >       Restart the Mongrel processes on the app server by starting and
> > stopping the cluster. This uses the :use_sudo
> >       variable to determine whether to use sudo or not. By default,
> > :use_sudo is set to true.
> >       DESC
> >       task :restart, :roles => :app do
> >         sudo "mongrel_rails cluster::restart -C #{mongrel_conf}"
> >       end
>
> >       desc <<-DESC
> >       Stop the Mongrel processes on the app server.  This uses
> > the :use_sudo
> >       variable to determine whether to use sudo or not. By
> > default, :use_sudo is
> >       set to true.
> >       DESC
> >       task :stop, :roles => :app do
> >         sudo "mongrel_rails cluster::stop -f -C #{mongrel_conf}"
> >       end
>
> >       desc <<-DESC
> >       Apply a new Mongrel configuration.
> >       DESC
> >       task :reset_config, :roles => :app do
> >         mongrel.cluster.stop
> >         sudo "rm -f #{mongrel_conf}"
> >         mongrel.cluster.setup
> >         mongrel.cluster.start
> >       end
> >     end
> >   end
>
> >   # Override standard deploy.
> >   namespace :deploy do
> >     desc <<-DESC
> >     Start the Mongrel processes on the app server by calling
> > mongrel:cluster:start
> >     DESC
> >     task :start, :roles => :app do
> >       mongrel.cluster.start
> >     end
>
> >     desc <<-DESC
> >     Restart the Mongrel processes on the app server by calling
> > mongrel:cluster:restart
> >     DESC
> >     task :restart, :roles => :app do
> >       mongrel.cluster.restart
> >     end
>
> >     desc <<-DESC
> >     Stop the Mongrel processes on the app server by calling
> > mongrel:cluster:stop
> >     DESC
> >     task :stop, :roles => :app do
> >       mongrel.cluster.stop
> >     end
> >   end
> > end
>
> > >
>
>
>  smime.p7s
> 3KDownload


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to