indocker 0.1.13 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/indocker/server_pools/deploy_server_pool.rb +22 -14
- data/lib/indocker/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cacf753d2ac5b563b097493cdb495f76b2d1aef8f758dea6d84a3791e36ab0aa
|
4
|
+
data.tar.gz: bbd59aec061d7358c3d5a579615547c3a3c097219069d93bbd7e78563f31b091
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f57b65eb2d10ae48aef8295db38822e3d2f55f11d04e912628884b8bbf3e88ff60d95453c086ea4352e1cd0c3d35e4c51682e1dda7bf3e7826502e36c0b27ec9
|
7
|
+
data.tar.gz: a3732e6bc974c22b3dd5f856c593054d300d1d6244ac5399cb43d9cdd896940aa9089d0240ce5c8f83481a9e3b51507227d1c4510b66563025b6b5266f56491c
|
data/Gemfile.lock
CHANGED
@@ -3,24 +3,13 @@ class Indocker::ServerPools::DeployServerPool
|
|
3
3
|
@logger = logger
|
4
4
|
@configuration = configuration
|
5
5
|
@connections = []
|
6
|
+
@semaphore = Mutex.new
|
6
7
|
end
|
7
8
|
|
8
9
|
def create_connection!(server)
|
9
|
-
|
10
|
-
|
11
|
-
connection.server.port == server.port &&
|
12
|
-
connection.server.user == server.user
|
10
|
+
@semaphore.synchronize do
|
11
|
+
create_connection_unsafe!(server)
|
13
12
|
end
|
14
|
-
if connection.nil?
|
15
|
-
connection = Indocker::ServerPools::DeployServerConnection.new(
|
16
|
-
logger: @logger,
|
17
|
-
configuration: @configuration,
|
18
|
-
server: server,
|
19
|
-
)
|
20
|
-
connection.create_session!
|
21
|
-
@connections.push(connection)
|
22
|
-
end
|
23
|
-
connection
|
24
13
|
end
|
25
14
|
|
26
15
|
def each(&proc)
|
@@ -30,4 +19,23 @@ class Indocker::ServerPools::DeployServerPool
|
|
30
19
|
def close_sessions
|
31
20
|
@connections.each(&:close_session)
|
32
21
|
end
|
22
|
+
|
23
|
+
private
|
24
|
+
def create_connection_unsafe!(server)
|
25
|
+
connection = @connections.detect do |connection|
|
26
|
+
connection.server.host == server.host &&
|
27
|
+
connection.server.port == server.port &&
|
28
|
+
connection.server.user == server.user
|
29
|
+
end
|
30
|
+
if connection.nil?
|
31
|
+
connection = Indocker::ServerPools::DeployServerConnection.new(
|
32
|
+
logger: @logger,
|
33
|
+
configuration: @configuration,
|
34
|
+
server: server,
|
35
|
+
)
|
36
|
+
connection.create_session!
|
37
|
+
@connections.push(connection)
|
38
|
+
end
|
39
|
+
connection
|
40
|
+
end
|
33
41
|
end
|
data/lib/indocker/version.rb
CHANGED