Sha256: 3cc86599987aaeb33ea73d4af3563fc71d7dc84b6c66c94dff4c6083499b5d92

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

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

module Avm
  module EacRailsBase1
    module Instances
      module Runners
        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::Instances::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
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
avm-eac_rails_base1-0.10.2 lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.97.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
avm-eac_rails_base1-0.10.1 lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.96.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.84.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.83.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.82.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.81.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
avm-eac_rails_base1-0.10.0 lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb
eac_tools-0.80.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb