lib/td/command/sched.rb in td-0.10.65 vs lib/td/command/sched.rb in td-0.10.66

- old
+ new

@@ -30,10 +30,11 @@ delay = 0 result_url = nil result_user = nil result_ask_password = false priority = nil + retry_limit = nil op.on('-d', '--database DB_NAME', 'use the database (required)') {|s| db_name = s } op.on('-t', '--timezone TZ', 'name of the timezone (like Asia/Tokyo)') {|s| @@ -55,10 +56,13 @@ priority = job_priority_id_of(s) unless priority raise "unknown priority #{s.inspect} should be -2 (very-low), -1 (low), 0 (normal), 1 (high) or 2 (very-high)" end } + op.on('-R', '--retry COUNT', 'automatic retrying count', Integer) {|i| + retry_limit = i + } name, cron, sql = op.cmd_parse unless db_name $stderr.puts "-d, --database DB_NAME option is required." @@ -74,11 +78,11 @@ # local existance check get_database(client, db_name) begin - first_time = client.create_schedule(name, :cron=>cron, :query=>sql, :database=>db_name, :result=>result_url, :timezone=>timezone, :delay=>delay, :priority=>priority) + first_time = client.create_schedule(name, :cron=>cron, :query=>sql, :database=>db_name, :result=>result_url, :timezone=>timezone, :delay=>delay, :priority=>priority, :retry_limit=>retry_limit) rescue AlreadyExistsError cmd_debug_error $! $stderr.puts "Schedule '#{name}' already exists." exit 1 end @@ -109,10 +113,11 @@ db_name = nil result = nil timezone = nil delay = nil priority = nil + retry_limit = nil op.on('-s', '--schedule CRON', 'change the schedule') {|s| cron = s } op.on('-q', '--query SQL', 'change the query') {|s| @@ -134,21 +139,26 @@ priority = job_priority_id_of(s) unless priority raise "unknown priority #{s.inspect} should be -2 (very-low), -1 (low), 0 (normal), 1 (high) or 2 (very-high)" end } + op.on('-R', '--retry COUNT', 'automatic retrying count', Integer) {|i| + retry_limit = i + } + name = op.cmd_parse params = {} params['cron'] = cron if cron params['query'] = sql if sql params['database'] = db_name if db_name params['result'] = result if result params['timezone'] = timezone if timezone params['delay'] = delay.to_s if delay params['priority'] = priority.to_s if priority + params['retry_limit'] = retry_limit.to_s if retry_limit if params.empty? $stderr.puts op.to_s exit 1 end @@ -207,9 +217,10 @@ puts "Timezone : #{s.timezone}" puts "Delay : #{s.delay} sec" puts "Next : #{s.next_time}" puts "Result : #{s.result_url}" puts "Priority : #{job_priority_name_of(s.priority)}" + puts "Retry limit : #{s.retry_limit}" puts "Database : #{s.database}" puts "Query : #{s.query}" end rows = []