Sha256: 46b4cf1aa54d85f92dd8ce50a8b8b3e367742876a21d7ddd54763bd4a6b03d72

Contents?: true

Size: 1.34 KB

Versions: 57

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

require 'avm/eac_rails_base1/systemd_unit'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacRailsBase1
    class Runner < ::Avm::EacWebappBase0::Runner
      class TasksScheduler
        class SystemdUnit
          DEFAULT_RESTART = 'on-failure'

          runner_with :help do
            desc 'Configure Systemd unit for instace\'s tasks scheduler daemon (Reference: ' \
              'https://www.freedesktop.org/software/systemd/man/systemd.service.html).'
            bool_opt '-e', '--exec-run', 'Run daemon with "run" instead of "start"/"stop".'
            arg_opt '-r', '--restart', 'Value for systemd.service, Restart=.',
                    default: DEFAULT_RESTART
          end

          delegate :restart, to: :parsed

          def run
            if result.error?
              fatal_error result.to_s
            else
              infov 'Result', result.label
            end
          end

          private

          def systemd_unit_uncached
            ::Avm::EacRailsBase1::SystemdUnit.new(runner_context.call(:instance),
                                                  restart: parsed.restart,
                                                  exec_run: parsed.exec_run?)
          end

          def result_uncached
            systemd_unit.run
          end
        end
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 3 rubygems

Version Path
eac_tools-0.31.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.31.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.30.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.29.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.28.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.27.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.27.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
avm-eac_rails_base1-0.6.0 lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.27.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.26.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.25.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.25.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.24.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.24.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
avm-eac_rails_base1-0.5.0 lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.23.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.22.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.21.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.20.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.19.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb