Sha256: 456fc316d671529496d32f4738ca434253874b3861779c2f7345ee52f115fb09

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

Capistrano::Configuration.instance(true).load do
  set :juggernaut_config, "#{current_path}/config/juggernaut.yml"
  set :juggernaut_pid, "#{current_path}/tmp/pids/juggernaut.pid"
  set :juggernaut_log, "#{current_path}/log/juggernaut.log"
  
  namespace :juggernaut do            
    # ===============================================================
    # PROCESS MANAGEMENT
    # ===============================================================  
    
    desc "Starts the juggernaut push server"
    task :start, :roles => :app do
      puts "Starting juggernaut push server"
      try_sudo "juggernaut -c #{juggernaut_config} -d --pid #{juggernaut_pid} --log #{juggernaut_log}"
    end
    
    desc "Stops the juggernaut push server"
    task :stop, :roles => :app do
      puts "Stopping juggernaut push server"
      try_sudo "juggernaut -c #{juggernaut_config} -k * --pid #{juggernaut_pid} --log #{juggernaut_log}"
    end
    
    desc "Restarts the juggernaut push server"
    task :restart, :roles => :app do
      juggernaut.stop
      juggernaut.start
    end  
    
    # ===============================================================
    # FILE MANAGEMENT
    # ===============================================================  
    
    desc "Copies the shared/config/juggernaut yaml to release/config/"
    task :copy_config, :roles => :app do
      try_sudo "ln -s #{shared_path}/config/juggernaut.yml #{release_path}/config/juggernaut.yml"
    end
    
    desc "Displays the juggernaut log from the server"
    task :tail, :roles => :app do
      stream "tail -f #{shared_path}/log/juggernaut.log" 
    end
  end
  
  # ===============================================================
  # TASK CALLBACKS
  # ===============================================================  
  
  after "deploy:update_code", "juggernaut:copy_config" # copy juggernaut.yml on update code
  after "deploy:restart"    , "juggernaut:restart"     # restart juggernaut on app restart
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hubertlepicki-cap-recipes-0.2.8 lib/cap_recipes/tasks/juggernaut.rb