Sha256: c90451a9c4187d5909b8885fdc9f8341c6b31a9d37eb609cc917a0c8268c16cb
Contents?: true
Size: 1.86 KB
Versions: 4
Compression:
Stored size: 1.86 KB
Contents
require 'capistrano/magic_recipes/base_helpers' include Capistrano::MagicRecipes::BaseHelpers namespace :load do task :defaults do set :thin_path, -> { '/etc/thin' } set :thin_roles, -> { :web } set :thin_timeout, -> { 30 } set :thin_max_conns, -> { 1024 } set :thin_max_persistent_conns, -> { 512 } set :thin_require, -> { [] } set :thin_wait, -> { 90 } set :thin_onebyone, -> { true } set :thin_hooks, -> { true } end end namespace :thin do desc "rewrite thin-configurations" task :reconf => ['nginx:load_vars'] do on release_roles fetch(:thin_roles) do within current_path do magic_template("thin_app_yml", '/tmp/thin_app.yml') execute :sudo, :mv, '/tmp/thin_app.yml', "config/thin_app_#{fetch(:stage)}.yml" execute :sudo, :rm, ' -f', "#{fetch(:thin_path)}/thin_#{fetch(:application)}_#{fetch(:stage)}*" execute :sudo, :ln, ' -sf', "#{current_path}/config/thin_app_#{fetch(:stage)}.yml", "#{fetch(:thin_path)}/thin_#{fetch(:application)}_#{fetch(:stage)}.yml" end end end %w[start stop restart].each do |command| desc "#{command} thin" task command => ['nginx:load_vars'] do on release_roles fetch(:thin_roles) do within current_path do execute :bundle, :exec, :thin, "#{command} -C config/thin_app_#{fetch(:stage)}.yml" end end end end end # => after 'deploy:published', nil do # => on release_roles fetch(:thin_roles) do # => invoke "thin:reconf" # => invoke "thin:restart" # => end # => end namespace :deploy do after 'deploy:published', :restart_thin_apps do if fetch(:thin_hooks) invoke "thin:reconf" invoke "thin:restart" end end end
Version data entries
4 entries across 4 versions & 1 rubygems