td 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +5 -0
- data/lib/td/command/import.rb +1 -2
- data/lib/td/command/list.rb +15 -0
- data/lib/td/command/query.rb +4 -3
- data/lib/td/command/sched.rb +109 -0
- data/lib/td/version.rb +1 -1
- metadata +5 -4
data/ChangeLog
CHANGED
data/lib/td/command/import.rb
CHANGED
data/lib/td/command/list.rb
CHANGED
@@ -190,6 +190,11 @@ module List
|
|
190
190
|
add_list 'schema:add', %w[db table columns_], 'Add new columns to a table'
|
191
191
|
add_list 'schema:remove', %w[db table columns_], 'Remove columns from a table'
|
192
192
|
|
193
|
+
#add_list 'sched:list', %w[], 'Show list of schedules'
|
194
|
+
#add_list 'sched:create', %w[name cron sql], 'Create a schedule'
|
195
|
+
#add_list 'sched:delete', %w[name], 'Delete a schedule'
|
196
|
+
#add_list 'sched:history', %w[name max?], 'Show history of scheduled queries'
|
197
|
+
|
193
198
|
add_list 'query', %w[sql], 'Issue a query'
|
194
199
|
|
195
200
|
add_list 'job:show', %w[job_id], 'Show status and result of a job'
|
@@ -220,6 +225,16 @@ module List
|
|
220
225
|
|
221
226
|
add_alias 'schema', 'schema:show'
|
222
227
|
|
228
|
+
#add_alias 'schedule:list', 'sched:list'
|
229
|
+
#add_alias 'schedule:create', 'sched:create'
|
230
|
+
#add_alias 'schedule:delete', 'sched:delete'
|
231
|
+
#add_alias 'schedule:history', 'sched:history'
|
232
|
+
#add_alias 'schedule:hist', 'sched:history'
|
233
|
+
#add_alias 'sched:hist', 'sched:history'
|
234
|
+
#add_alias 'sched', 'sched:history'
|
235
|
+
#add_alias 'scheds', 'sched:list'
|
236
|
+
#add_alias 'schedules', 'sched:list'
|
237
|
+
|
223
238
|
add_alias 'job', 'job:show'
|
224
239
|
add_alias 'jobs', 'job:list'
|
225
240
|
add_alias 'kill', 'job:kill'
|
data/lib/td/command/query.rb
CHANGED
@@ -26,18 +26,19 @@ module Command
|
|
26
26
|
|
27
27
|
sql = op.cmd_parse
|
28
28
|
|
29
|
-
client = get_client
|
30
|
-
|
31
29
|
unless db_name
|
32
30
|
$stderr.puts "-d, --database DB_NAME option is required."
|
33
31
|
exit 1
|
34
32
|
end
|
35
33
|
|
34
|
+
client = get_client
|
35
|
+
|
36
|
+
# local existance check
|
36
37
|
get_database(client, db_name)
|
37
38
|
|
38
39
|
job = client.query(db_name, sql)
|
39
40
|
|
40
|
-
$stderr.puts "Job #{job.job_id} is
|
41
|
+
$stderr.puts "Job #{job.job_id} is queued."
|
41
42
|
$stderr.puts "Use '#{$prog} job:show #{job.job_id}' to show the status."
|
42
43
|
$stderr.puts "See #{job.url} to see the progress."
|
43
44
|
|
@@ -0,0 +1,109 @@
|
|
1
|
+
|
2
|
+
module TreasureData
|
3
|
+
module Command
|
4
|
+
|
5
|
+
def sched_list(op)
|
6
|
+
op.cmd_parse
|
7
|
+
|
8
|
+
client = get_client
|
9
|
+
|
10
|
+
scheds = client.schedules
|
11
|
+
|
12
|
+
rows = []
|
13
|
+
scheds.each {|sched|
|
14
|
+
rows << {:Name => sched.name, :Cron => sched.cron, :Query => sched.query}
|
15
|
+
}
|
16
|
+
rows = rows.sort_by {|map|
|
17
|
+
map[:Name]
|
18
|
+
}
|
19
|
+
|
20
|
+
puts cmd_render_table(rows, :fields => [:Name, :Cron, :Query])
|
21
|
+
end
|
22
|
+
|
23
|
+
def sched_create(op)
|
24
|
+
db_name = nil
|
25
|
+
|
26
|
+
op.on('-d', '--database DB_NAME', 'use the database (required)') {|s|
|
27
|
+
db_name = s
|
28
|
+
}
|
29
|
+
|
30
|
+
name, cron, sql = op.cmd_parse
|
31
|
+
|
32
|
+
unless db_name
|
33
|
+
$stderr.puts "-d, --database DB_NAME option is required."
|
34
|
+
exit 1
|
35
|
+
end
|
36
|
+
|
37
|
+
client = get_client
|
38
|
+
|
39
|
+
# local existance check
|
40
|
+
get_database(client, db_name)
|
41
|
+
|
42
|
+
begin
|
43
|
+
first_time = client.create_schedule(name, :cron=>cron, :query=>sql, :database=>db_name)
|
44
|
+
rescue AlreadyExistsError
|
45
|
+
cmd_debug_error $!
|
46
|
+
$stderr.puts "Schedule '#{name}' already exists."
|
47
|
+
exit 1
|
48
|
+
end
|
49
|
+
|
50
|
+
$stderr.puts "Schedule '#{name}' is created. It starts at #{first_time}."
|
51
|
+
end
|
52
|
+
|
53
|
+
def sched_delete(op)
|
54
|
+
name = op.cmd_parse
|
55
|
+
|
56
|
+
client = get_client
|
57
|
+
|
58
|
+
begin
|
59
|
+
client.delete_schedule(name)
|
60
|
+
rescue NotFoundError
|
61
|
+
cmd_debug_error $!
|
62
|
+
$stderr.puts "Schedule '#{name}' does not exist."
|
63
|
+
$stderr.puts "Use '#{$prog} sched:list' to show list of the schedules."
|
64
|
+
exit 1
|
65
|
+
end
|
66
|
+
|
67
|
+
$stderr.puts "Schedule '#{name}' is deleted."
|
68
|
+
end
|
69
|
+
|
70
|
+
def sched_history(op)
|
71
|
+
page = 0
|
72
|
+
skip = 0
|
73
|
+
|
74
|
+
op.on('-p', '--page PAGE', 'skip N pages', Integer) {|i|
|
75
|
+
page = i
|
76
|
+
}
|
77
|
+
op.on('-s', '--skip N', 'skip N schedules', Integer) {|i|
|
78
|
+
skip = i
|
79
|
+
}
|
80
|
+
|
81
|
+
name, max = op.cmd_parse
|
82
|
+
|
83
|
+
max = (max || 20).to_i
|
84
|
+
|
85
|
+
if page
|
86
|
+
skip += max * page
|
87
|
+
end
|
88
|
+
|
89
|
+
client = get_client
|
90
|
+
|
91
|
+
begin
|
92
|
+
history = client.history(name, skip, skip+max-1)
|
93
|
+
rescue NotFoundError
|
94
|
+
cmd_debug_error $!
|
95
|
+
$stderr.puts "Schedule '#{name}' does not exist."
|
96
|
+
$stderr.puts "Use '#{$prog} sched:list' to show list of the schedules."
|
97
|
+
exit 1
|
98
|
+
end
|
99
|
+
|
100
|
+
rows = []
|
101
|
+
history.each {|j|
|
102
|
+
rows << {:Time => j.scheduled_at, :JobID => j.job_id, :Status => j.status}
|
103
|
+
}
|
104
|
+
|
105
|
+
puts cmd_render_table(rows, :fields => [:Time, :JobID, :Status])
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
end
|
data/lib/td/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 3
|
10
|
+
version: 0.9.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sadayuki Furuhashi
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-13 00:00:00 +09:00
|
19
19
|
default_executable: td
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/td/command/job.rb
|
119
119
|
- lib/td/command/list.rb
|
120
120
|
- lib/td/command/query.rb
|
121
|
+
- lib/td/command/sched.rb
|
121
122
|
- lib/td/command/schema.rb
|
122
123
|
- lib/td/command/server.rb
|
123
124
|
- lib/td/command/table.rb
|