Module: Capistrano::Helpers::DelayedJob::Monit

Defined in:
lib/capistrano/helpers/delayed_job/monit.rb

Overview

Module Monit provides helpers for Monit/Puma combination

Class Method Summary collapse

Class Method Details

.available_configuration_file(worker_number) ⇒ Object



32
33
34
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 32

def available_configuration_file(worker_number)
  "#{fetch(:delayed_job_runit_base_service_name)}_#{worker_number}.conf"
end

.available_configuration_with_path(worker_number) ⇒ Object



28
29
30
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 28

def available_configuration_with_path(worker_number)
  File.join(fetch(:monit_available_path), "#{fetch(:delayed_job_runit_base_service_name)}_#{worker_number}.conf")
end

.delayed_job_monit_service_name(worker_number) ⇒ Object



14
15
16
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 14

def delayed_job_monit_service_name(worker_number)
  "#{fetch(:delayed_job_monit_base_service_name)}_#{worker_number}"
end

.delayed_job_monit_start_command(worker_number) ⇒ Object



18
19
20
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 18

def delayed_job_monit_start_command(worker_number)
  "/bin/bash -c '[ ! -h #{runit_service_path(delayed_job_monit_service_name(worker_number))}/run ] || /usr/bin/sv start #{runit_service_path(delayed_job_monit_service_name(worker_number))}'" # rubocop:disable Metrics/LineLength
end

.delayed_job_monit_stop_command(worker_number) ⇒ Object



22
23
24
25
26
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 22

def delayed_job_monit_stop_command(worker_number)
  # Give delayed job 60 seconds to finish any jobs it's currently handling.
  # (Tasks that are longer than 60 seconds should be split!)
  "/usr/bin/sv -w 60 force-stop #{runit_service_path(delayed_job_monit_service_name(worker_number))}" # rubocop:disable Metrics/LineLength
end

.delayed_job_pid_file(worker_number) ⇒ Object



10
11
12
# File 'lib/capistrano/helpers/delayed_job/monit.rb', line 10

def delayed_job_pid_file(worker_number)
  service_pid("#{fetch(:delayed_job_runit_base_service_name)}_#{worker_number}")
end