hako 1.2.0 → 1.2.1

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
  SHA1:
3
- metadata.gz: c1d86bc51070984dd1963477c7e0e65d3db228f8
4
- data.tar.gz: 87daa9ce6841fc2b029d8bf33b03c4bce72aea35
3
+ metadata.gz: 54859bce2bfc4f5a8b7d4fa55afb605119aa3a80
4
+ data.tar.gz: b9f1cdd54ccd8a09a68407dfa89237d8a245d3d7
5
5
  SHA512:
6
- metadata.gz: d3a0c055aebebccb5bb8b38a66e7183eb3d887e8fb483d106b3b1db191547041123ff720a0181ddbcbda41510b0255eb6ae313e4b78ad469430ef5531e92a9df
7
- data.tar.gz: bf5ad5bc15d7750a21cb7de91d3d69f745f4e9febd2fa641f5d1b24953a644862aeaefe4cdd512d238a33d8c114efe87c3aa10a26574c26d90de1cac69562c8f
6
+ metadata.gz: d719c61cfa81b858b45cd17a0c1b31d166f3daf6010a588f33715d369dbaac87638515e5b3dd1f39ec1d0922bac09a4c1d8222bb2e70c908c6316f021397a10a
7
+ data.tar.gz: 90497feaab9dcd664fb4dbce60269b19530fbb526e64861ba10fcdc9afcbfc11373476f592318f51f7acb1b795776b29b5aacd198ed63bc5edefcec127cb191b
@@ -1,3 +1,7 @@
1
+ # 1.2.1 (2017-05-11)
2
+ ## Bug fixes
3
+ - Retry DescribeTasks when rate limited
4
+
1
5
  # 1.2.0 (2017-04-14)
2
6
  ## Changes
3
7
  - Fail deployment when some tasks are stopped during deployment
@@ -541,12 +541,23 @@ module Hako
541
541
  exit_code
542
542
  end
543
543
 
544
+ MIN_WAIT_TASK_INTERVAL = 1
545
+ MAX_WAIT_TASK_INTERVAL = 120
544
546
  # @param [Aws::ECS::Types::Task] task
545
547
  # @return [nil]
546
548
  def wait_for_task(task)
547
549
  task_arn = task.task_arn
550
+ interval = 1
548
551
  loop do
549
- task = ecs_client.describe_tasks(cluster: @cluster, tasks: [task_arn]).tasks[0]
552
+ begin
553
+ task = ecs_client.describe_tasks(cluster: @cluster, tasks: [task_arn]).tasks[0]
554
+ rescue Aws::ECS::Errors::ThrottlingException => e
555
+ Hako.logger.error(e)
556
+ interval = [interval * 2, MAX_WAIT_TASK_INTERVAL].min
557
+ Hako.logger.info("Retrying after #{interval} seconds...")
558
+ sleep interval
559
+ next
560
+ end
550
561
  if task.nil?
551
562
  Hako.logger.debug "Task #{task_arn} could not be described"
552
563
  sleep 1
@@ -574,7 +585,9 @@ module Hako
574
585
  end
575
586
  return containers
576
587
  end
577
- sleep 1
588
+ interval = [interval / 2, MIN_WAIT_TASK_INTERVAL].max
589
+ Hako.logger.debug("Waiting task with interval=#{interval}")
590
+ sleep interval
578
591
  end
579
592
  end
580
593
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hako
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hako
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kohei Suzuki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-14 00:00:00.000000000 Z
11
+ date: 2017-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  version: '0'
186
186
  requirements: []
187
187
  rubyforge_project:
188
- rubygems_version: 2.6.10
188
+ rubygems_version: 2.6.11
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Deploy Docker container