Class: Capistrano::SolidQueue::Systemd
- Inherits:
-
Plugin
- Object
- Plugin
- Capistrano::SolidQueue::Systemd
- Defined in:
- lib/capistrano/solid_queue.rb
Instance Method Summary collapse
- #define_tasks ⇒ Object
- #execute_systemd(*args, raise_on_non_zero_exit: true) ⇒ Object
- #fetch_systemd_unit_path ⇒ Object
- #register_hooks ⇒ Object
- #set_defaults ⇒ Object
- #sudo_if_needed(*command, raise_on_non_zero_exit: true) ⇒ Object
- #systemd_command(*args) ⇒ Object
Instance Method Details
#define_tasks ⇒ Object
16 17 18 |
# File 'lib/capistrano/solid_queue.rb', line 16 def define_tasks eval_rakefile File.("../tasks/solid_queue.rake", __FILE__) end |
#execute_systemd(*args, raise_on_non_zero_exit: true) ⇒ Object
27 28 29 |
# File 'lib/capistrano/solid_queue.rb', line 27 def execute_systemd(*args, raise_on_non_zero_exit: true) sudo_if_needed(*systemd_command(*args), raise_on_non_zero_exit: true) end |
#fetch_systemd_unit_path ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/capistrano/solid_queue.rb', line 49 def fetch_systemd_unit_path if fetch(:solid_queue_systemctl_user) == :system "/etc/systemd/system/" else home_dir = backend.capture :pwd File.join(home_dir, ".config", "systemd", "user") end end |
#register_hooks ⇒ Object
20 21 22 23 24 25 |
# File 'lib/capistrano/solid_queue.rb', line 20 def register_hooks after "deploy:starting", "solid_queue:quiet" after "deploy:updated", "solid_queue:stop" after "deploy:published", "solid_queue:start" after "deploy:failed", "solid_queue:restart" end |
#set_defaults ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/capistrano/solid_queue.rb', line 8 def set_defaults set_if_empty :solid_queue_role, "db" set_if_empty :solid_queue_access_log, -> { File.join(shared_path, "log", "solid_queue.log") } set_if_empty :solid_queue_error_log, -> { File.join(shared_path, "log", "solid_queue.log") } set_if_empty :solid_queue_service_unit_name, -> { "#{fetch(:application)}_solid_queue_#{fetch(:stage)}" } set_if_empty :solid_queue_systemd_conf_dir, -> { fetch_systemd_unit_path } end |
#sudo_if_needed(*command, raise_on_non_zero_exit: true) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/capistrano/solid_queue.rb', line 31 def sudo_if_needed(*command, raise_on_non_zero_exit: true) if fetch(:solid_queue_systemctl_user) == :system backend.sudo command.map(&:to_s).join(" ") else backend.execute(*command, raise_on_non_zero_exit: raise_on_non_zero_exit) end end |
#systemd_command(*args) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/capistrano/solid_queue.rb', line 39 def systemd_command(*args) command = ["/bin/systemctl"] unless fetch(:solid_queue_systemctl_user) == :system command << "--user" end command + args end |