<commit_before>#############################################################
#	Application
#############################################################

set :application, 'feedbunch'

#############################################################
#	RVM
#############################################################

set :rvm_type, :user
set :rvm_ruby_version, 'ruby-2.1.3'
set :rvm_user_path, '~/.rvm'

#############################################################
#	Settings
#############################################################

set :format, :pretty
set :log_level, :debug
SSHKit.config.command_map[:god] = "#{fetch :rvm_user_path}/bin/rvm #{fetch :rvm_ruby_version} do bundle exec god"
SSHKit.config.command_map[:sidekiq] = 'sudo service sidekiq'

#############################################################
#	Servers
#############################################################

set :deploy_to, '/var/rails/feedbunch'
set :keep_releases, 5
set :linked_files, %w{
                      config/database.yml
                      config/secrets.yml
                      config/newrelic.yml
                      redis/redis.conf
                  }
set :linked_dirs, %w{
                      bin
                      log
                      uploads
                      public/assets
                      public/system
                      tmp/cache
                      tmp/pids
                      tmp/sockets
                      vendor/bundle
                  }

#############################################################
#	Git
#############################################################

set :scm, :git
set :repo_url,  'git://github.com/amatriain/feedbunch.git'
set :branch, 'master'

#############################################################
#	God (manages Redis)
#############################################################

namespace :feedbunch_god do

  desc 'Start God and God-managed tasks'
  task :start do
    on roles :background do
      within current_path do
        execute :god, '-c', File.join(current_path,'config','background_jobs.god'),
                '--log', File.join(shared_path, 'log', 'god.log')

      end
    end
  end

  desc 'Stop God and God-managed tasks'
  task :stop do
    on roles :background do
      within current_path do
        # We run a "true" shell command after issuing a "god terminate" command because otherwise if
        # God were not running before this, we would get a return value of false which
        # Capistrano would intepret as an error and the deployment would be rolled back
        begin
          execute :god, 'terminate', ';true'
        rescue => e
          puts "Error terminating God: #{e.to_s}"
        end
      end
    end
  end

  desc 'Restart God and God-managed tasks'
  task :restart_all do
    invoke 'feedbunch_god:stop'
    invoke 'feedbunch_god:start'
  end
end

#############################################################
#	Sidekiq
#############################################################

namespace :sidekiq do

  desc 'Start Sidekiq'
  task :start do
    on roles :background do
      execute :sidekiq, 'start'
    end
  end

  desc 'Stop Sidekiq'
  task :stop do
    on roles :background do
      execute :sidekiq, 'stop'
    end
  end

  desc 'Restart Sidekiq'
  task :restart do
    on roles :background do
      execute :sidekiq, 'restart'
    end
  end

end

#############################################################
#	Deployment start/stop/restart hooks
#############################################################

namespace :deploy do

  desc 'Start the application'
  task :start do
    invoke 'feedbunch_god:start'
    invoke 'sidekiq:start'
  end

  desc 'Stop the application'
  task :stop do
    invoke 'feedbunch_god:stop'
    invoke 'sidekiq:stop'
  end

  desc 'Restart the application'
  task :restart do
    on roles :web do
      within File.join(current_path,'tmp') do
        # Tell passenger to restart the app
        execute :touch, 'restart.txt'
      end
    end
    invoke 'sidekiq:restart'
  end
<commit_msg>Manage redis through the Upstart service when deploying with capistrano.<commit_after>#############################################################
#	Application
#############################################################

set :application, 'feedbunch'

#############################################################
#	RVM
#############################################################

set :rvm_type, :user
set :rvm_ruby_version, 'ruby-2.1.3'
set :rvm_user_path, '~/.rvm'

#############################################################
#	Settings
#############################################################

set :format, :pretty
set :log_level, :debug
SSHKit.config.command_map[:redis] = 'sudo service redis'
SSHKit.config.command_map[:sidekiq] = 'sudo service sidekiq'

#############################################################
#	Servers
#############################################################

set :deploy_to, '/var/rails/feedbunch'
set :keep_releases, 5
set :linked_files, %w{
                      config/database.yml
                      config/secrets.yml
                      config/newrelic.yml
                      redis/redis.conf
                  }
set :linked_dirs, %w{
                      bin
                      log
                      uploads
                      public/assets
                      public/system
                      tmp/cache
                      tmp/pids
                      tmp/sockets
                      vendor/bundle
                  }

#############################################################
#	Git
#############################################################

set :scm, :git
set :repo_url,  'git://github.com/amatriain/feedbunch.git'
set :branch, 'master'

#############################################################
#	Redis
#############################################################

namespace :redis do

  desc 'Start Redis'
  task :start do
    on roles :background do
      execute :redis, 'start'
    end
  end

  desc 'Stop Redis'
  task :stop do
    on roles :background do
      execute :redis, 'stop'
    end
  end

  desc 'Restart Redis'
  task :restart do
    invoke 'redis:stop'
    invoke 'redis:start'
  end
end

#############################################################
#	Sidekiq
#############################################################

namespace :sidekiq do

  desc 'Start Sidekiq'
  task :start do
    on roles :background do
      execute :sidekiq, 'start'
    end
  end

  desc 'Stop Sidekiq'
  task :stop do
    on roles :background do
      execute :sidekiq, 'stop'
    end
  end

  desc 'Restart Sidekiq'
  task :restart do
    on roles :background do
      execute :sidekiq, 'restart'
    end
  end

end

#############################################################
#	Deployment start/stop/restart hooks
#############################################################

namespace :deploy do

  desc 'Start the application'
  task :start do
    invoke 'redis:start'
    invoke 'sidekiq:start'
  end

  desc 'Stop the application'
  task :stop do
    invoke 'redis:stop'
    invoke 'sidekiq:stop'
  end

  desc 'Restart the application'
  task :restart do
    on roles :web do
      within File.join(current_path,'tmp') do
        # Tell passenger to restart the app
        execute :touch, 'restart.txt'
      end
    end
    invoke 'sidekiq:restart'
  end

{'fraction_non_alphanumeric': 0.323746808224701, 'fraction_numerical': 0.0010751243112484881, 'mean_word_length': 3.0118598382749324, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4070504', 'n_tokens_mistral': 2038, 'n_tokens_neox': 1886, 'n_words': 531}