Sha256: f9bd9f30a4a47e56df3acde23b26096e25061bebce51316a517e4de08ac72e46
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
git_plugin = self namespace :deploy do before :starting, :check_racecar_hooks do invoke 'racecar:add_hooks' end end namespace :racecar do def consumer_list YAML.parse_file(fetch(:racecar_task_path)).to_ruby['tasks'] end def build_pid_file(consumer_name) "#{fetch(:racecar_pid_path)}/#{consumer_name.downcase}.pid" end task :add_hooks do after 'deploy:updated', 'racecar:stop' after 'deploy:published', 'racecar:start' after 'deploy:failed', 'racecar:restart' end desc 'Test' task :test do on roles(fetch(:racecar_role)) do |role| within release_path do with rails_env: fetch(:rails_env) do info fetch(:racecar_pid_path) git_plugin.consumer_list.each { |item| git_plugin.build_pid_file(item) } end end end end desc 'Start' task :start do on roles(fetch(:racecar_role)) do |role| within current_path do with rails_env: fetch(:rails_env) do git_plugin.consumer_list.each do |item| execute(:bundle, "exec racecar --daemonize #{item} --pidfile #{git_plugin.build_pid_file(item)}") end end end end end task :stop do on roles(fetch(:racecar_role)) do |role| within current_path do with rails_env: fetch(:rails_env) do git_plugin.consumer_list.each do |item| execute(:bundle, "exec racecarctl stop --pidfile #{git_plugin.build_pid_file(item)}") end end end end end task :restart do invoke! 'racecar:stop' invoke! 'racecar:start' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano-racecar-1.0.2 | lib/capistrano/tasks/racecar.rake |