td-client 0.8.18 → 0.8.19
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 +6 -0
- data/lib/td/client.rb +18 -12
- data/lib/td/client/api.rb +27 -5
- data/lib/td/client/model.rb +7 -5
- data/lib/td/client/version.rb +1 -1
- metadata +8 -8
data/ChangeLog
CHANGED
data/lib/td/client.rb
CHANGED
@@ -104,30 +104,30 @@ class Client
|
|
104
104
|
end
|
105
105
|
|
106
106
|
# => Job
|
107
|
-
def query(db_name, q, result_url=nil)
|
108
|
-
job_id = @api.hive_query(q, db_name, result_url)
|
107
|
+
def query(db_name, q, result_url=nil, priority=nil)
|
108
|
+
job_id = @api.hive_query(q, db_name, result_url, priority)
|
109
109
|
Job.new(self, job_id, :hive, q)
|
110
110
|
end
|
111
111
|
|
112
112
|
# => [Job]
|
113
113
|
def jobs(from=nil, to=nil, status=nil)
|
114
114
|
result = @api.list_jobs(from, to, status)
|
115
|
-
result.map {|job_id,type,status,query,start_at,end_at,result_url|
|
116
|
-
Job.new(self, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url)
|
115
|
+
result.map {|job_id,type,status,query,start_at,end_at,result_url,priority|
|
116
|
+
Job.new(self, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url, nil, priority)
|
117
117
|
}
|
118
118
|
end
|
119
119
|
|
120
120
|
# => Job
|
121
121
|
def job(job_id)
|
122
122
|
job_id = job_id.to_s
|
123
|
-
type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @api.show_job(job_id)
|
124
|
-
Job.new(self, job_id, type, query, status, url, debug, start_at, end_at, nil, result_url, hive_result_schema)
|
123
|
+
type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @api.show_job(job_id)
|
124
|
+
Job.new(self, job_id, type, query, status, url, debug, start_at, end_at, nil, result_url, hive_result_schema, priority)
|
125
125
|
end
|
126
126
|
|
127
127
|
# => type:Symbol, url:String
|
128
128
|
def job_status(job_id)
|
129
|
-
type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @api.show_job(job_id)
|
130
|
-
return query, status, url, debug, start_at, end_at, result_url, hive_result_schema
|
129
|
+
type, query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @api.show_job(job_id)
|
130
|
+
return query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority
|
131
131
|
end
|
132
132
|
|
133
133
|
# => result:[{column:String=>value:Object]
|
@@ -156,6 +156,12 @@ class Client
|
|
156
156
|
Job.new(self, job_id, :export, nil)
|
157
157
|
end
|
158
158
|
|
159
|
+
# => Job
|
160
|
+
def partial_delete(db_name, table_name, to, from)
|
161
|
+
job_id = @api.partial_delete(db_name, table_name, to, from)
|
162
|
+
Job.new(self, job_id, :partialdelete, nil)
|
163
|
+
end
|
164
|
+
|
159
165
|
# => nil
|
160
166
|
def create_bulk_import(name, database, table)
|
161
167
|
@api.create_bulk_import(name, database, table)
|
@@ -229,8 +235,8 @@ class Client
|
|
229
235
|
# [Schedule]
|
230
236
|
def schedules
|
231
237
|
result = @api.list_schedules
|
232
|
-
result.map {|name,cron,query,database,result_url,timezone,delay,next_time|
|
233
|
-
Schedule.new(self, name, cron, query, database, result_url, timezone, delay, next_time)
|
238
|
+
result.map {|name,cron,query,database,result_url,timezone,delay,next_time,priority|
|
239
|
+
Schedule.new(self, name, cron, query, database, result_url, timezone, delay, next_time, priority)
|
234
240
|
}
|
235
241
|
end
|
236
242
|
|
@@ -242,8 +248,8 @@ class Client
|
|
242
248
|
# [ScheduledJob]
|
243
249
|
def history(name, from=nil, to=nil)
|
244
250
|
result = @api.history(name, from, to)
|
245
|
-
result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url|
|
246
|
-
ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url)
|
251
|
+
result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url,priority|
|
252
|
+
ScheduledJob.new(self, scheduled_at, job_id, type, query, status, nil, nil, start_at, end_at, nil, result_url, nil, priority)
|
247
253
|
}
|
248
254
|
end
|
249
255
|
|
data/lib/td/client/api.rb
CHANGED
@@ -290,7 +290,8 @@ class API
|
|
290
290
|
start_at = m['start_at']
|
291
291
|
end_at = m['end_at']
|
292
292
|
result_url = m['result']
|
293
|
-
|
293
|
+
priority = m['priority']
|
294
|
+
result << [job_id, type, status, query, start_at, end_at, result_url, priority]
|
294
295
|
}
|
295
296
|
return result
|
296
297
|
end
|
@@ -317,7 +318,8 @@ class API
|
|
317
318
|
else
|
318
319
|
hive_result_schema = JSON.parse(hive_result_schema)
|
319
320
|
end
|
320
|
-
|
321
|
+
priority = js['priority']
|
322
|
+
return [type, query, status, url, debug, start_at, end_at, result, hive_result_schema, priority]
|
321
323
|
end
|
322
324
|
|
323
325
|
def job_result(job_id)
|
@@ -382,9 +384,10 @@ class API
|
|
382
384
|
end
|
383
385
|
|
384
386
|
# => jobId:String
|
385
|
-
def hive_query(q, db=nil, result_url=nil)
|
387
|
+
def hive_query(q, db=nil, result_url=nil, priority=nil)
|
386
388
|
params = {'query' => q}
|
387
389
|
params['result'] = result_url if result_url
|
390
|
+
params['priority'] = priority if priority
|
388
391
|
code, body, res = post("/v3/job/issue/hive/#{e db}", params)
|
389
392
|
if code != "200"
|
390
393
|
raise_error("Query failed", res)
|
@@ -409,6 +412,23 @@ class API
|
|
409
412
|
return js['job_id'].to_s
|
410
413
|
end
|
411
414
|
|
415
|
+
|
416
|
+
####
|
417
|
+
## Partial delete API
|
418
|
+
##
|
419
|
+
|
420
|
+
def partial_delete(db, table, to, from)
|
421
|
+
params = {}
|
422
|
+
params['to'] = to.to_s
|
423
|
+
params['from'] = from.to_s
|
424
|
+
code, body, res = post("/v3/table/partialdelete/#{e db}/#{e table}", params)
|
425
|
+
if code != "200"
|
426
|
+
raise_error("Partial delete failed", res)
|
427
|
+
end
|
428
|
+
js = checked_json(body, %w[job_id])
|
429
|
+
return js['job_id'].to_s
|
430
|
+
end
|
431
|
+
|
412
432
|
####
|
413
433
|
## Bulk import API
|
414
434
|
##
|
@@ -592,7 +612,8 @@ class API
|
|
592
612
|
timezone = m['timezone']
|
593
613
|
delay = m['delay']
|
594
614
|
next_time = m['next_time']
|
595
|
-
|
615
|
+
priority = m['priority']
|
616
|
+
result << [name, cron, query, database, result_url, timezone, delay, next_time, priority]
|
596
617
|
}
|
597
618
|
return result
|
598
619
|
end
|
@@ -624,7 +645,8 @@ class API
|
|
624
645
|
end_at = m['end_at']
|
625
646
|
scheduled_at = m['scheduled_at']
|
626
647
|
result_url = m['result']
|
627
|
-
|
648
|
+
priority = m['priority']
|
649
|
+
result << [scheduled_at, job_id, type, status, query, start_at, end_at, result_url, priority]
|
628
650
|
}
|
629
651
|
return result
|
630
652
|
end
|
data/lib/td/client/model.rb
CHANGED
@@ -175,7 +175,7 @@ class Job < Model
|
|
175
175
|
STATUS_KILLED = "killed"
|
176
176
|
FINISHED_STATUS = [STATUS_SUCCESS, STATUS_ERROR, STATUS_KILLED]
|
177
177
|
|
178
|
-
def initialize(client, job_id, type, query, status=nil, url=nil, debug=nil, start_at=nil, end_at=nil, result=nil, result_url=nil, hive_result_schema=nil)
|
178
|
+
def initialize(client, job_id, type, query, status=nil, url=nil, debug=nil, start_at=nil, end_at=nil, result=nil, result_url=nil, hive_result_schema=nil, priority=nil)
|
179
179
|
super(client)
|
180
180
|
@job_id = job_id
|
181
181
|
@type = type
|
@@ -188,10 +188,11 @@ class Job < Model
|
|
188
188
|
@result = result
|
189
189
|
@result_url = result_url
|
190
190
|
@hive_result_schema = hive_result_schema
|
191
|
+
@priority = priority
|
191
192
|
end
|
192
193
|
|
193
194
|
attr_reader :job_id, :type, :result_url
|
194
|
-
attr_reader :hive_result_schema
|
195
|
+
attr_reader :hive_result_schema, :priority
|
195
196
|
|
196
197
|
def wait(timeout=nil)
|
197
198
|
# TODO
|
@@ -282,7 +283,7 @@ class Job < Model
|
|
282
283
|
end
|
283
284
|
|
284
285
|
def update_status!
|
285
|
-
query, status, url, debug, start_at, end_at, result_url, hive_result_schema = @client.job_status(@job_id)
|
286
|
+
query, status, url, debug, start_at, end_at, result_url, hive_result_schema, priority = @client.job_status(@job_id)
|
286
287
|
@query = query
|
287
288
|
@status = status
|
288
289
|
@url = url
|
@@ -308,7 +309,7 @@ end
|
|
308
309
|
|
309
310
|
|
310
311
|
class Schedule < Model
|
311
|
-
def initialize(client, name, cron, query, database=nil, result_url=nil, timezone=nil, delay=nil, next_time=nil)
|
312
|
+
def initialize(client, name, cron, query, database=nil, result_url=nil, timezone=nil, delay=nil, next_time=nil, priority=nil)
|
312
313
|
super(client)
|
313
314
|
@name = name
|
314
315
|
@cron = cron
|
@@ -318,9 +319,10 @@ class Schedule < Model
|
|
318
319
|
@timezone = timezone
|
319
320
|
@delay = delay
|
320
321
|
@next_time = next_time
|
322
|
+
@priority = priority
|
321
323
|
end
|
322
324
|
|
323
|
-
attr_reader :name, :cron, :query, :database, :result_url, :timezone, :delay
|
325
|
+
attr_reader :name, :cron, :query, :database, :result_url, :timezone, :delay, :priority
|
324
326
|
|
325
327
|
def next_time
|
326
328
|
@next_time ? Time.parse(@next_time) : nil
|
data/lib/td/client/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.19
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-03 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: msgpack
|
16
|
-
requirement: &
|
16
|
+
requirement: &70143141621920 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.4.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70143141621920
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70143141621100 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.4.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70143141621100
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70143141620160 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 2.8.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70143141620160
|
47
47
|
description:
|
48
48
|
email:
|
49
49
|
executables: []
|