lib/delayed/master/command.rb in delayed_job_master-2.0.3 vs lib/delayed/master/command.rb in delayed_job_master-3.0.0

- old
+ new

@@ -1,30 +1,53 @@ +# frozen_string_literal: true + require 'optparse' require_relative 'config' module Delayed - class Master + module Master class Command attr_reader :config def initialize(args) @config = Config.new OptionParser.new { |opt| opt.banner = <<-EOS - #{File.basename($PROGRAM_NAME)} #{Delayed::Master::VERSION} + #{File.basename($PROGRAM_NAME)} #{DelayedJobMaster::VERSION} Usage: #{File.basename($PROGRAM_NAME)} [options] EOS opt.on('-h', '--help', '-v', '--version', 'Show this message') do |boolean| puts opt exit end - opt.on('-D', '--daemon', 'Start master as a daemon') do |boolean| - @config.daemon(boolean) - end opt.on('-c', '--config=FILE', 'Specify config file') do |file| @config.read(file) + end + opt.on('-D', '--daemon', 'Start master as a daemon') do |boolean| + @config.daemon = boolean + end + opt.on('--working-directory=DIR', 'Path to working directory') do |dir| + @config.working_directory = dir + end + opt.on('--pid-file=FILE', 'Path to pid file') do |file| + @config.pid_file = file + end + opt.on('--log-file=FILE', 'Path to log file') do |file| + @config.log_file = file + end + opt.on('--log-level=LEVEL', 'Log level') do |level| + @config.log_level = level.to_sym + end + opt.on('--monitor-interval=INTERVAL', Numeric, 'Monitor interval') do |interval| + @config.monitor_interval = interval + end + opt.on('--polling-interval=INTERVAL', Numeric, 'Polling interval') do |interval| + @config.polling_interval = interval + end + opt.on('--databases=DB1,DB2', Array, 'Database spec name to check delayed_jobs table') do |databases| + @config.databases = databases.map(&:to_sym) end }.parse(args) end end end