adds capistrano tasks and hooks for delayed_jobs
This commit is contained in:
@@ -27,7 +27,7 @@ set :pty, true
|
||||
set :use_sudo, false
|
||||
|
||||
set :linked_files, %w{config/database.yml config/secrets.yml}
|
||||
set :linked_dirs, %w{log tmp public/system public/assets}
|
||||
set :linked_dirs, %w{log tmp public/system public/assets tmp/pids}
|
||||
|
||||
set :keep_releases, 5
|
||||
|
||||
@@ -36,6 +36,9 @@ set :local_user, ENV['USER']
|
||||
# Run test before deploy
|
||||
set :tests, ["spec"]
|
||||
|
||||
set :delayed_job_server_role, :worker
|
||||
set :delayed_job_args, "-n 2"
|
||||
|
||||
# Config files should be copied by deploy:setup_config
|
||||
set(:config_files, %w(
|
||||
log_rotation
|
||||
@@ -55,6 +58,8 @@ namespace :deploy do
|
||||
after 'deploy:symlink:shared', 'deploy:compile_assets_locally'
|
||||
after :finishing, 'deploy:beta_testers'
|
||||
after :finishing, 'deploy:cleanup'
|
||||
# Restart Delayed Job
|
||||
after 'deploy:publishing', 'delayed_job:restart'
|
||||
# Restart unicorn
|
||||
after 'deploy:publishing', 'deploy:restart'
|
||||
end
|
||||
|
||||
44
lib/capistrano/tasks/delayed_job.rake
Normal file
44
lib/capistrano/tasks/delayed_job.rake
Normal file
@@ -0,0 +1,44 @@
|
||||
namespace :delayed_job do
|
||||
|
||||
def args
|
||||
fetch(:delayed_job_args, "")
|
||||
end
|
||||
|
||||
def delayed_job_roles
|
||||
fetch(:delayed_job_server_role, :app)
|
||||
end
|
||||
|
||||
desc 'Stop the delayed_job process'
|
||||
task :stop do
|
||||
on roles(delayed_job_roles) do
|
||||
within release_path do
|
||||
with rails_env: fetch(:rails_env) do
|
||||
execute :bundle, :exec, :'bin/delayed_job', :stop
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Start the delayed_job process'
|
||||
task :start do
|
||||
on roles(delayed_job_roles) do
|
||||
within release_path do
|
||||
with rails_env: fetch(:rails_env) do
|
||||
execute :bundle, :exec, :'bin/delayed_job', args, :start
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Restart the delayed_job process'
|
||||
task :restart do
|
||||
on roles(delayed_job_roles) do
|
||||
within release_path do
|
||||
with rails_env: fetch(:rails_env) do
|
||||
execute :bundle, :exec, :'bin/delayed_job', args, :restart
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user