iron_worker_ng 1.5.1 → 1.5.2
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.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/bin/iron_worker +42 -2
- data/lib/iron_worker_ng/api_client.rb +5 -0
- data/lib/iron_worker_ng/cli.rb +16 -1
- data/lib/iron_worker_ng/client.rb +8 -0
- data/lib/iron_worker_ng/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a654f4e22e048d2a9812b02b4355704b5f6c6670
|
4
|
+
data.tar.gz: 4ed6669f27699dcd3f4ca51f91e2a07dd124c454
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02beee3cc652603989da4eba6005c3ec9ee9f9adcf4738289c85fca859bfd51bd8f8592b7ee25575f5ad7dd8ddc0e7e0395446cf24f14ec97da42e25f7e13ec2
|
7
|
+
data.tar.gz: 166cbabf5dcb22a8e2116c3970c7a7b3e230c89af887fcca8058e9ceac130d7caaff3231c49ab3aeee5e361ef1b15889ae33f55c33922cabf0a8c350df5d91b2
|
data/README.md
CHANGED
@@ -620,6 +620,18 @@ puts schedule.id
|
|
620
620
|
- **label**: Optional label for adding custom labels to scheduled tasks.
|
621
621
|
- **cluster**: cluster name ex: "high-mem" or "dedicated". This is a premium feature for customers to have access to more powerful or custom built worker solutions. Dedicated worker clusters exist for users who want to reserve a set number of workers just for their queued tasks. If not set default is set to "default" which is the public IronWorker cluster.
|
622
622
|
|
623
|
+
### schedules.update(schedule_id, options = {})
|
624
|
+
|
625
|
+
Update a scheduled task specified by id
|
626
|
+
|
627
|
+
```ruby
|
628
|
+
client.schedules.update('545b3cb829acd33ea10016e4', {label: 'new_label'})
|
629
|
+
```
|
630
|
+
|
631
|
+
Or you can update a scheduled task for your worker from the command line using:
|
632
|
+
|
633
|
+
iron_worker update schedule 545b3cb829acd33ea10016e4 -s '{"label": "new_label"}'
|
634
|
+
|
623
635
|
### schedules.cancel(schedule_id)
|
624
636
|
|
625
637
|
Cancel the scheduled task specified by `schedule_id`.
|
data/bin/iron_worker
CHANGED
@@ -41,7 +41,7 @@ if $*.size == 1 && ($*[0] == '-v' || $*[0] == '--version')
|
|
41
41
|
exit 0
|
42
42
|
end
|
43
43
|
|
44
|
-
commands = ['upload', 'patch', 'queue', 'retry', 'schedule', 'log', 'run', 'install', 'webhook', 'info', 'stacks']
|
44
|
+
commands = ['upload', 'patch', 'queue', 'retry', 'schedule', 'update', 'log', 'run', 'install', 'webhook', 'info', 'stacks']
|
45
45
|
|
46
46
|
if $*.size == 0 || (not commands.include?($*[0]))
|
47
47
|
puts 'usage: iron_worker COMMAND [OPTIONS]'
|
@@ -315,7 +315,7 @@ elsif command == 'run'
|
|
315
315
|
opts.on('--worker-config CONFIG_FILE', 'config file for worker') do |v|
|
316
316
|
options[:worker_config] = v
|
317
317
|
end
|
318
|
-
|
318
|
+
|
319
319
|
common_opts(opts)
|
320
320
|
end
|
321
321
|
|
@@ -469,4 +469,44 @@ elsif command == 'info'
|
|
469
469
|
|
470
470
|
elsif command == 'stacks'
|
471
471
|
@cli.stacks_list
|
472
|
+
elsif command == 'update'
|
473
|
+
entities = ['schedule']
|
474
|
+
|
475
|
+
if $*.size == 0 || (not entities.include?($*[0]))
|
476
|
+
puts 'usage: iron_worker update ENTITY [OPTIONS]'
|
477
|
+
puts " ENTITY: #{entities.join(', ')}"
|
478
|
+
puts ' run iron_worker update ENTITY --help to get more information about each entity'
|
479
|
+
exit 1
|
480
|
+
end
|
481
|
+
|
482
|
+
entity = $*.shift
|
483
|
+
|
484
|
+
if entity == 'schedule'
|
485
|
+
params = {}
|
486
|
+
|
487
|
+
opts = OptionParser.new do |opts|
|
488
|
+
opts.banner = "usage: iron_worker update schedule SCHEDULED_TASK_ID [OPTIONS]"
|
489
|
+
|
490
|
+
opts.on('-s', '--schedule SCHEDULE', String, 'schedule params to pass, JSON string') do |v|
|
491
|
+
params[:schedule] = v
|
492
|
+
end
|
493
|
+
|
494
|
+
common_opts(opts)
|
495
|
+
end
|
496
|
+
|
497
|
+
begin
|
498
|
+
opts.parse!
|
499
|
+
rescue OptionParser::ParseError
|
500
|
+
puts $!.to_s
|
501
|
+
exit 1
|
502
|
+
end
|
503
|
+
|
504
|
+
unless $*.size == 1
|
505
|
+
puts 'Please specify scheduled task id'
|
506
|
+
puts opts
|
507
|
+
exit 1
|
508
|
+
end
|
509
|
+
|
510
|
+
@cli.update_schedule($*[0], params)
|
511
|
+
end
|
472
512
|
end
|
@@ -122,6 +122,11 @@ module IronWorkerNG
|
|
122
122
|
parse_response(post("projects/#{@project_id}/schedules", {:schedules => [{:code_name => code_name, :payload => payload}.merge(options)]}))
|
123
123
|
end
|
124
124
|
|
125
|
+
def schedules_update(id, options = {})
|
126
|
+
check_id(id)
|
127
|
+
parse_response(put("projects/#{@project_id}/schedules/#{id}", options))
|
128
|
+
end
|
129
|
+
|
125
130
|
def schedules_cancel(id)
|
126
131
|
check_id(id)
|
127
132
|
parse_response(post("projects/#{@project_id}/schedules/#{id}/cancel"))
|
data/lib/iron_worker_ng/cli.rb
CHANGED
@@ -167,6 +167,21 @@ module IronWorkerNG
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
170
|
+
def update_schedule(schedule_id, params)
|
171
|
+
client
|
172
|
+
|
173
|
+
log_group "Updating scheduled task with id=#{schedule_id}"
|
174
|
+
|
175
|
+
response = client.schedules.update(schedule_id, JSON.parse(params[:schedule], :symbolize_names => true))
|
176
|
+
|
177
|
+
if response.msg == 'Updated'
|
178
|
+
log 'Scheduled task updated successfully'
|
179
|
+
log "Check 'https://hud.iron.io/tq/projects/#{client.api.project_id}/scheduled_jobs/#{schedule_id}' for more info"
|
180
|
+
else
|
181
|
+
log 'Something went wrong'
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
170
185
|
def getlog(task_id, params, options)
|
171
186
|
client
|
172
187
|
|
@@ -214,7 +229,7 @@ module IronWorkerNG
|
|
214
229
|
|
215
230
|
log "Code package name is '#{code.name}'"
|
216
231
|
log_group "Running '#{code.name}'"
|
217
|
-
|
232
|
+
|
218
233
|
if options[:worker_config]
|
219
234
|
log "Loading worker_config at #{options[:worker_config]}"
|
220
235
|
c = IO.read(options[:worker_config])
|
@@ -394,6 +394,14 @@ EXEC_FILE
|
|
394
394
|
OpenStruct.new(s)
|
395
395
|
end
|
396
396
|
|
397
|
+
def schedules_update(id, options = {})
|
398
|
+
IronCore::Logger.debug 'IronWorkerNG', "Calling schedules.update with id='#{id}', options='#{options.to_s}'"
|
399
|
+
|
400
|
+
res = @api.schedules_update(id, options)
|
401
|
+
|
402
|
+
OpenStruct.new(res)
|
403
|
+
end
|
404
|
+
|
397
405
|
def schedules_create_legacy(code_name, params = {}, options = {})
|
398
406
|
IronCore::Logger.debug 'IronWorkerNG', "Calling schedules.create_legacy with code_name='#{code_name}', params='#{params.to_s}' and options='#{options.to_s}'"
|
399
407
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kirilenko
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-10
|
12
|
+
date: 2014-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: iron_core
|