Sha256: 172a0a87a1e161de53c82f2fef0532d4b47c9c68293311fe1f4f75f85b0c834b

Contents?: true

Size: 1.38 KB

Versions: 25

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

require 'avm/eac_rails_base1/instances/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::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

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
eac_tools-0.47.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.47.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.47.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
avm-eac_rails_base1-0.7.1 lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.46.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.45.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.45.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.45.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.44.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.43.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.42.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.41.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.40.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.39.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.38.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.37.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.37.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.37.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.36.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb
eac_tools-0.36.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb