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 = []