jerome (owner)

Fork Of

Revisions

gist: 112282 Download_button fork
public
Public Clone URL: git://gist.github.com/112282.git
Embed All Files: show embed
Ruby #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
namespace :workling do
  namespace :client do
    desc "Starts workling client"
    task :start, :roles => :app, :only => { :primary => true } do
      run "sudo -u #{app_user} bash -c 'cd #{current_path} && export RAILS_ENV=#{rails_env} && ./script/workling_client stop'"
      run "sudo -u #{app_user} bash -c 'cd #{current_path} && rm -f log/workling.output'"
      run "sudo -u #{app_user} bash -c 'cd #{current_path} && export RAILS_ENV=#{rails_env} && ./script/workling_client start'"
    end
 
    desc "Stops workling client"
    task :stop, :roles => :app, :only => { :primary => true } do
      run "sudo -u #{app_user} bash -c 'cd #{current_path} && export RAILS_ENV=#{rails_env} && ./script/workling_client stop'"
    end
  end
 
  namespace :starling do
    task :setup, :roles => :app, :only => { :primary => true } do
      # Create pool directory for Starling
      run "#{sudo} mkdir -p /var/spool/starling"
    end
 
    desc "Starts Starling server"
    task :start, :roles => :app, :only => { :primary => true } do
      run "#{sudo} starling -d -h 0.0.0.0 -p 15151"
    end
 
    desc "Stops Starling server"
    task :stop, :roles => :app, :only => { :primary => true } do
      starling = capture "starling_top -p 15151"
      starling_pid = YAML.load(starling)["pid"]
      puts "Killing Starling, pid : #{starling_pid}"
      run "#{sudo} kill #{starling_pid}"
    end
  end
end