wrapbox 0.8.2 → 0.9.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0945185eb499784f2b696a4f65947f05f9225edb203a6a1c1d3b00e9b5e3d2f
4
- data.tar.gz: f595d49cae8a2bde5ffe8dded0d0b25e1e4ff817f4bbcc7ec838774ed715c04c
3
+ metadata.gz: 00df8d3c0e46ae38cdef3ada6dde9db32adf2313b03d910591e98a9129b1d787
4
+ data.tar.gz: 61739c6ac9544da2b2ea83fd538831e6782ee78d9e0d2ddc8f2424e409d48474
5
5
  SHA512:
6
- metadata.gz: fb901d6faadfe0fb1e84eb2ff586488fb9c1a7e2bb7724272675a7e25cd0cbb66d70a4fba124f855f5e45797350b55370d961dca07b85819a6bef4aa5e0b5314
7
- data.tar.gz: 4cc9fa285184986af51b433e1404b5f7c07c0d24e594b735661ea586faa80ada6e1a18a5faec061ffc638a368cd3543747b828eed27c33529df0a6aa2867f9f3
6
+ metadata.gz: 97c9a51c95c80f93ec16443eaca2e91890da6a1d7574f6d62be200ac2db8a997bcae61dc74da0467b3aa4aac751c81db86ea3943f86988ff78644b52efad92d3
7
+ data.tar.gz: bae99aa04b2540582132f769d0db1b20dd171956cef2bd8fb08b4d16f430365c56ba86a0c706ad37b6499ee0b037093828703d752ae0672f9d16e4ad0a1ace59
@@ -1,9 +1,13 @@
1
+ require "logger"
2
+
1
3
  module Wrapbox
2
4
  CLASS_NAME_ENV = "WRAPBOX_CLASS_NAME".freeze
3
5
  METHOD_NAME_ENV = "WRAPBOX_METHOD_NAME".freeze
4
6
  METHOD_ARGS_ENV = "WRAPBOX_METHOD_ARGS".freeze
5
7
 
6
8
  class << self
9
+ attr_accessor :logger
10
+
7
11
  def load_config(filename)
8
12
  configs.load_yaml(filename)
9
13
  end
@@ -26,6 +30,10 @@ module Wrapbox
26
30
  config.run_cmd(*args, **options)
27
31
  end
28
32
  end
33
+
34
+ $stdout.sync = true
35
+ self.logger = Logger.new($stdout)
36
+ self.logger.level = :info
29
37
  end
30
38
 
31
39
  require "wrapbox/version"
@@ -17,7 +17,7 @@ module Wrapbox
17
17
  def initialize(options)
18
18
  @name = options[:name]
19
19
  @container_definitions = options[:container_definition] ? [options[:container_definition]] : options[:container_definitions]
20
- @logger = Logger.new($stdout)
20
+ @logger = Wrapbox.logger
21
21
 
22
22
  if @container_definitions.size >= 2
23
23
  raise "Docker runner does not support multi container currently"
@@ -138,7 +138,9 @@ module Wrapbox
138
138
  method_option :memory, type: :numeric
139
139
  method_option :environments, aliases: "-e"
140
140
  method_option :ignore_signal, type: :boolean, default: false, desc: "Even if receive a signal (like TERM, INT, QUIT), Docker container continue running"
141
+ method_option :verbose, aliases: "-v", type: :boolean, default: false, desc: "Verbose mode"
141
142
  def run_cmd(*args)
143
+ Wrapbox.logger.level = :debug if options[:verbose]
142
144
  Wrapbox.load_config(options[:config])
143
145
  config = Wrapbox.configs[options[:config_name]]
144
146
  environments = options[:environments].to_s.split(/,\s*/).map { |kv| kv.split("=") }.map do |k, v|
@@ -93,8 +93,7 @@ module Wrapbox
93
93
 
94
94
  @task_role_arn = options[:task_role_arn]
95
95
  @execution_role_arn = options[:execution_role_arn]
96
- $stdout.sync = true
97
- @logger = Logger.new($stdout)
96
+ @logger = Wrapbox.logger
98
97
  if options[:log_fetcher]
99
98
  type = options[:log_fetcher][:type]
100
99
  @log_fetcher = LogFetcher.new(type, options[:log_fetcher])
@@ -212,7 +211,7 @@ module Wrapbox
212
211
  raise
213
212
  else
214
213
  execution_try_count += 1
215
- @logger.debug("Retry Execution after #{EXECUTION_RETRY_INTERVAL} sec")
214
+ @logger.warn("Retry Execution after #{EXECUTION_RETRY_INTERVAL} sec (#{execution_try_count}/#{parameter.execution_retry})")
216
215
  sleep EXECUTION_RETRY_INTERVAL
217
216
  retry
218
217
  end
@@ -250,7 +249,7 @@ module Wrapbox
250
249
  task = resp.tasks[0]
251
250
 
252
251
  resp.failures.each do |failure|
253
- @logger.debug("Failure: Arn=#{failure.arn}, Reason=#{failure.reason}")
252
+ @logger.warn("Failure: Arn=#{failure.arn}, Reason=#{failure.reason}")
254
253
  end
255
254
  raise LackResource unless task # this case is almost lack of container resource.
256
255
 
@@ -288,14 +287,14 @@ module Wrapbox
288
287
  end
289
288
  end
290
289
  rescue LackResource
291
- @logger.debug("Failed to create task, because of lack resource")
290
+ @logger.warn("Failed to create task, because of lack resource")
292
291
  put_waiting_task_count_metric(cl)
293
292
 
294
293
  if launch_try_count >= parameter.launch_retry
295
294
  raise
296
295
  else
297
296
  launch_try_count += 1
298
- @logger.debug("Retry Create Task after #{current_retry_interval} sec")
297
+ @logger.warn("Retry Create Task after #{current_retry_interval} sec (#{launch_try_count}/#{parameter.launch_retry})")
299
298
  sleep current_retry_interval
300
299
  current_retry_interval = [current_retry_interval * parameter.retry_interval_multiplier, parameter.max_retry_interval].min
301
300
  retry
@@ -306,7 +305,7 @@ module Wrapbox
306
305
  raise LaunchFailure, build_error_message(task_definition_name, task.task_arn, task_status)
307
306
  else
308
307
  launch_try_count += 1
309
- @logger.debug("Retry Create Task after #{current_retry_interval} sec")
308
+ @logger.warn("Retry Create Task after #{current_retry_interval} sec (#{launch_try_count}/#{parameter.launch_retry})")
310
309
  sleep current_retry_interval
311
310
  current_retry_interval = [current_retry_interval * parameter.retry_interval_multiplier, parameter.max_retry_interval].min
312
311
  retry
@@ -511,7 +510,9 @@ module Wrapbox
511
510
  method_option :execution_retry, type: :numeric
512
511
  method_option :max_retry_interval, type: :numeric
513
512
  method_option :ignore_signal, type: :boolean, default: false, desc: "Even if receive a signal (like TERM, INT, QUIT), ECS Tasks continue running"
513
+ method_option :verbose, aliases: "-v", type: :boolean, default: false, desc: "Verbose mode"
514
514
  def run_cmd(*args)
515
+ Wrapbox.logger.level = :debug if options[:verbose]
515
516
  Wrapbox.load_config(options[:config])
516
517
  config = Wrapbox.configs[options[:config_name]]
517
518
  environments = options[:environments].to_s.split(/,\s*/).map { |kv| kv.split("=") }.map do |k, v|
@@ -1,3 +1,3 @@
1
1
  module Wrapbox
2
- VERSION = "0.8.2"
2
+ VERSION = "0.9.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrapbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - joker1007
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-26 00:00:00.000000000 Z
11
+ date: 2018-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-ecs
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project:
232
- rubygems_version: 2.7.7
232
+ rubygems_version: 2.7.8
233
233
  signing_key:
234
234
  specification_version: 4
235
235
  summary: Ruby method runner on AWS ECS