hako 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
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