daytona 0.159.0 → 0.160.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: 1e4751da5151595bcd6b84e256aaa49c7cbbe39bedef6e8a29ad12f87b5d4da4
4
- data.tar.gz: b54624104f93d270024a34f4993a59b8b4ca24ff56be9231752cf83b5eee06de
3
+ metadata.gz: b1c81baae6c320e9b3da66ad5b51bc8def05725659f70646942e5b012002e17a
4
+ data.tar.gz: 48a7871cff21110a9f2b29d34eff5e3f9b2ac77e5c160f5b22a09d226f4aeffe
5
5
  SHA512:
6
- metadata.gz: e33be72d93dcb65765f48d7900f7bfd517c7e0b7057fb7cec4668d0360b46bbf315686524951ca4cb1c46a860c84c65ba01fc0d7b7e50f4360f1498508b36924
7
- data.tar.gz: 363a569ba64e83c75f8a8c44c5ca6dee31e6029ace1972373828c07dae61e79f6f052a349c3a3b851d4d1681cf250e4230401bc194f308b65660ba37e9f25895
6
+ metadata.gz: 2a37ff636cecdcae8d4f5e709e96459b659aa72db66ed3887b61aa9fbf2ed928e0aa2c79dcf9fd4fc179d65c2c8e9bd857036a2a0c0bcaea00b03389da71ab26
7
+ data.tar.gz: b81f12f8f1d71e30aa45bc855720930fd192b74ec4c8a44d52c29ddd232d776410fa9146a439f47337604c62fd2ec825cacbac19cc2f7aede3e019cda6f2e29b
@@ -63,7 +63,7 @@ module Daytona
63
63
  end
64
64
  end
65
65
  safe_env_exports = env.map do |key, value|
66
- "export #{key}=\"$(echo '#{Base64.strict_encode64(value)}' | base64 -d)\""
66
+ "export #{key}=\"$(printf '%s' '#{Base64.strict_encode64(value)}' | base64 -d)\""
67
67
  end.join('; ')
68
68
  command = "#{safe_env_exports}; #{command}"
69
69
  end
@@ -556,6 +556,8 @@ module Daytona
556
556
  # @return [void]
557
557
  # @raise [Daytona::Sdk::Error]
558
558
  def wait_for_states(operation:, target_states:)
559
+ interval = INITIAL_POLL_INTERVAL
560
+ start_time = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
559
561
  loop do
560
562
  case state
561
563
  when *target_states then return
@@ -563,13 +565,22 @@ module Daytona
563
565
  raise Sdk::Error, "Sandbox #{id} failed to #{operation} with state: #{state}, error reason: #{error_reason}"
564
566
  end
565
567
 
566
- sleep(IDLE_DURATION)
568
+ sleep(interval)
569
+ if ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) - start_time > 5
570
+ interval = [interval * BACKOFF_MULTIPLIER, MAX_POLL_INTERVAL].min
571
+ end
567
572
  refresh
568
573
  end
569
574
  end
570
575
 
571
- IDLE_DURATION = 0.1
572
- private_constant :IDLE_DURATION
576
+ INITIAL_POLL_INTERVAL = 0.1
577
+ private_constant :INITIAL_POLL_INTERVAL
578
+
579
+ MAX_POLL_INTERVAL = 1.0
580
+ private_constant :MAX_POLL_INTERVAL
581
+
582
+ BACKOFF_MULTIPLIER = 1.1
583
+ private_constant :BACKOFF_MULTIPLIER
573
584
 
574
585
  NO_TIMEOUT = 0
575
586
  private_constant :NO_TIMEOUT
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Daytona
4
4
  module Sdk
5
- VERSION = '0.159.0'
5
+ VERSION = '0.160.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daytona
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.159.0
4
+ version: 0.160.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daytona Platforms Inc.
@@ -85,28 +85,28 @@ dependencies:
85
85
  requirements:
86
86
  - - '='
87
87
  - !ruby/object:Gem::Version
88
- version: 0.159.0
88
+ version: 0.160.0
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - '='
94
94
  - !ruby/object:Gem::Version
95
- version: 0.159.0
95
+ version: 0.160.0
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: daytona_toolbox_api_client
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - '='
101
101
  - !ruby/object:Gem::Version
102
- version: 0.159.0
102
+ version: 0.160.0
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.159.0
109
+ version: 0.160.0
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: dotenv
112
112
  requirement: !ruby/object:Gem::Requirement