drb_fileserver_plus 0.3.1 → 0.3.2
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/drb_fileserver_plus.rb +75 -58
- data.tar.gz.sig +0 -0
- metadata +35 -34
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 920882a50cd419bef05ecb0c67c2dbe51742c4669b48d30d286fc15271885609
|
4
|
+
data.tar.gz: 2f5785281225cf121c05f7a323e5e84304f3c0deab856eb4287cacec24e06311
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7631f9ac2ba21c3361b710264b9ce20803a4f4c02fe57d0217e28e3c8290b84f5ba1e106f1d158c648d34804ed240b27067d95a14216c46b3c26755b59348ac
|
7
|
+
data.tar.gz: ddd5c5191228f7884e2f91a6c6f9eacec531d55807cdaabab8a40442cc4486c7eace00df7db05c0a773f1f9d0896aa653a5ed0b4a1c9d5d024d88d4298fbfd29
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/drb_fileserver_plus.rb
CHANGED
@@ -10,160 +10,177 @@ require 'drb_fileclient'
|
|
10
10
|
|
11
11
|
|
12
12
|
class DRbFileServer
|
13
|
-
|
13
|
+
|
14
14
|
attr_accessor :nodes
|
15
15
|
|
16
16
|
def initialize(nodes, sps: nil, topic: 'file')
|
17
|
-
|
17
|
+
|
18
18
|
@nodes = nodes
|
19
19
|
@failcount = 0
|
20
20
|
@sps, @topic = sps, topic
|
21
|
-
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
def chmod(permissions, fname)
|
25
|
+
|
26
|
+
node = ''
|
27
|
+
|
28
|
+
file_op do |f|
|
29
|
+
node = 'dfs://' + @nodes.first
|
30
|
+
f.chmod permissions, File.join(node, fname)
|
31
|
+
end
|
32
|
+
|
33
|
+
if @sps then
|
34
|
+
@sps.notice "%s/chmod: %d %s" % [@topic, permissions,
|
35
|
+
File.join(node, fname)]
|
36
|
+
end
|
37
|
+
|
22
38
|
end
|
23
|
-
|
39
|
+
|
40
|
+
|
24
41
|
def cp(path, path2)
|
25
|
-
|
42
|
+
|
26
43
|
node = ''
|
27
|
-
|
44
|
+
|
28
45
|
file_op do |f|
|
29
|
-
node = 'dfs://' + @nodes.first
|
46
|
+
node = 'dfs://' + @nodes.first
|
30
47
|
f.cp File.join(node, path), File.join(node, path2)
|
31
48
|
end
|
32
|
-
|
49
|
+
|
33
50
|
if @sps then
|
34
|
-
@sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
|
51
|
+
@sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
|
35
52
|
File.join(node, path2)]
|
36
53
|
end
|
37
54
|
|
38
|
-
end
|
39
|
-
|
55
|
+
end
|
56
|
+
|
40
57
|
def directory?(fname)
|
41
|
-
|
42
|
-
file_op do |f|
|
58
|
+
|
59
|
+
file_op do |f|
|
43
60
|
node = 'dfs://' + @nodes.first
|
44
|
-
f.directory? File.join(node, fname)
|
61
|
+
f.directory? File.join(node, fname)
|
45
62
|
end
|
46
63
|
|
47
|
-
end
|
64
|
+
end
|
48
65
|
|
49
66
|
def exists?(fname)
|
50
|
-
|
51
|
-
file_op do |f|
|
67
|
+
|
68
|
+
file_op do |f|
|
52
69
|
node = 'dfs://' + @nodes.first
|
53
|
-
f.exists? File.join(node, fname)
|
70
|
+
f.exists? File.join(node, fname)
|
54
71
|
end
|
55
72
|
|
56
|
-
end
|
57
|
-
|
73
|
+
end
|
74
|
+
|
58
75
|
def ls(path)
|
59
|
-
|
60
|
-
file_op do |f|
|
76
|
+
|
77
|
+
file_op do |f|
|
61
78
|
node = 'dfs://' + @nodes.first
|
62
79
|
f.ls File.join(node, path)
|
63
80
|
end
|
64
81
|
|
65
|
-
end
|
66
|
-
|
82
|
+
end
|
83
|
+
|
67
84
|
def mkdir(path)
|
68
85
|
|
69
86
|
node = ''
|
70
|
-
|
71
|
-
file_op do |f|
|
87
|
+
|
88
|
+
file_op do |f|
|
72
89
|
node = 'dfs://' + @nodes.first
|
73
90
|
f.mkdir File.join(node, path)
|
74
91
|
end
|
75
|
-
|
92
|
+
|
76
93
|
if @sps then
|
77
|
-
@sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
|
94
|
+
@sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
|
78
95
|
end
|
79
96
|
|
80
97
|
end
|
81
|
-
|
98
|
+
|
82
99
|
def mkdir_p(path)
|
83
100
|
|
84
|
-
node = ''
|
101
|
+
node = ''
|
85
102
|
|
86
103
|
file_op do |f|
|
87
104
|
node = 'dfs://' + @nodes.first
|
88
105
|
f.mkdir_p File.join(node, path)
|
89
106
|
end
|
90
|
-
|
107
|
+
|
91
108
|
if @sps then
|
92
109
|
@sps.notice "%s/mkdir_p: %s" % [@topic, File.join(node, path)]
|
93
110
|
end
|
94
|
-
|
111
|
+
|
95
112
|
end
|
96
|
-
|
113
|
+
|
97
114
|
def mv(path, path2)
|
98
115
|
|
99
116
|
node = ''
|
100
|
-
|
117
|
+
|
101
118
|
file_op do |f|
|
102
119
|
node = 'dfs://' + @nodes.first
|
103
120
|
f.mv File.join(node, path), File.join(node, path2)
|
104
121
|
end
|
105
|
-
|
122
|
+
|
106
123
|
if @sps then
|
107
|
-
@sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
|
124
|
+
@sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
|
108
125
|
File.join(node, path2)]
|
109
126
|
end
|
110
127
|
|
111
|
-
end
|
112
|
-
|
128
|
+
end
|
129
|
+
|
113
130
|
def read(fname)
|
114
|
-
|
131
|
+
|
115
132
|
file_op do |f|
|
116
133
|
node = 'dfs://' + @nodes.first
|
117
134
|
f.read File.join(node, fname)
|
118
135
|
end
|
119
136
|
|
120
137
|
end
|
121
|
-
|
138
|
+
|
122
139
|
def rm(fname)
|
123
140
|
|
124
141
|
node = ''
|
125
|
-
|
142
|
+
|
126
143
|
file_op do |f|
|
127
144
|
node = 'dfs://' + @nodes.first
|
128
145
|
f.rm File.join(node, fname)
|
129
146
|
end
|
130
|
-
|
147
|
+
|
131
148
|
if @sps then
|
132
149
|
@sps.notice "%s/rm: %s" % [@topic, File.join(node, fname)]
|
133
150
|
end
|
134
151
|
|
135
|
-
end
|
152
|
+
end
|
136
153
|
|
137
154
|
def write(fname, content)
|
138
155
|
|
139
156
|
node = ''
|
140
|
-
|
157
|
+
|
141
158
|
file_op do |f|
|
142
159
|
node = 'dfs://' + @nodes.first
|
143
160
|
f.write File.join(node, fname), content
|
144
161
|
end
|
145
|
-
|
162
|
+
|
146
163
|
if @sps then
|
147
164
|
@sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
|
148
165
|
end
|
149
|
-
|
166
|
+
|
150
167
|
end
|
151
|
-
|
168
|
+
|
152
169
|
def zip(fname, a)
|
153
|
-
|
170
|
+
|
154
171
|
node = ''
|
155
|
-
|
172
|
+
|
156
173
|
file_op do |f|
|
157
174
|
node = 'dfs://' + @nodes.first
|
158
175
|
f.zip File.join(node, fname), a
|
159
176
|
end
|
160
|
-
|
177
|
+
|
161
178
|
if @sps then
|
162
179
|
@sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
|
163
180
|
end
|
164
|
-
|
165
|
-
end
|
166
|
-
|
181
|
+
|
182
|
+
end
|
183
|
+
|
167
184
|
|
168
185
|
private
|
169
186
|
|
@@ -189,21 +206,21 @@ end
|
|
189
206
|
class DRbFileServerPlus
|
190
207
|
|
191
208
|
|
192
|
-
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
209
|
+
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
193
210
|
sps_port: '59010', sps_topic: 'file')
|
194
211
|
|
195
212
|
@host, @port, @nodes = host, port, nodes
|
196
|
-
|
213
|
+
|
197
214
|
if sps_host then
|
198
|
-
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
215
|
+
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
199
216
|
@topic = sps_topic
|
200
217
|
end
|
201
218
|
|
202
219
|
end
|
203
220
|
|
204
221
|
def start()
|
205
|
-
|
206
|
-
DRb.start_service "druby://#{@host}:#{@port}",
|
222
|
+
|
223
|
+
DRb.start_service "druby://#{@host}:#{@port}",
|
207
224
|
DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
|
208
225
|
DRb.thread.join
|
209
226
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drb_fileserver_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -11,52 +11,52 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMTE3MjExODE0WhcN
|
15
|
+
MjMwMTE3MjExODE0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDJmoH7
|
17
|
+
qtUrW6rfbZ7EC29fiedZY/da3pB3Y22dyx493ue53m7ijEIC9tVCja+3T7sQ7DOe
|
18
|
+
hAabX4KwhWTbq3SOHEzPeLqOgtciZPNRVo5g5UdOEp/7+ZSeBlm/BJO+RMbYfME+
|
19
|
+
NxpJB9BfW4vKgdYUU0mKZZhld6iFfpe/L9C7/OKXGy2EtHqs5/iHZcuhqC9c9dkS
|
20
|
+
zDR0FEWgRFvB2ZHoq0V5VmBeuC/0izTZMToYV2B/hQjSenkMSIO6s39Omf1ciRfs
|
21
|
+
wbZItRzNHfDgPJL4cuxWbNqrICluAP97a1k7FT/huhsjIIhFotw4fg7Z0Y9RkDZz
|
22
|
+
3p3Zd+nK7sBQFHMIejdmCZAQ1L+hNYEoSKJgaaVWN1Edz0tIzPaepW42Jlc8czPi
|
23
|
+
XZI5Gpal/sobpP4b2PbD+101ZXALel9+VBdUoM4hJohlKbV6BB9TZ+ZKdZAu4G34
|
24
|
+
LqsTiUuPYVpifonAvvCK/sHZFv06rkPr+bJJwzSUBIDK3WnHKl2ak7iLy28CAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUMqiMl7vY
|
26
|
+
doLRPPh2YANnlg4pBAAwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
27
|
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAcwXlaQYBtgbcM3aGSuse6SyR6v+PPcdAKj9l2JCa
|
29
|
+
0E1ziB1NZdFe71iuA24zAmkWfMr1dvlsuQ5W1ETPO67yyxOw7MZzjTomLlhKW3Bv
|
30
|
+
FDbU8D7hoMjjTfOsdSWjwly/j8b2WnYOwFYHKqgc/Zj4J2PE13v4t44CQV1ofnd9
|
31
|
+
bvgUHjEWElZL8j/ADbNcc5b8NrOzq3lI9J3rQ2dyEOX00eRLMrOK9Gc3jLpn4vrP
|
32
|
+
ej8MaD6CTt/k36lVZTFOeBOzbulRTCfBct+ILDXpvCotrKgOqUa5Phyza1/k9+5k
|
33
|
+
eqd0/0Hhn955Wvk9EEElxPHTDfdMGxw6/wk2hhqG8RKPJONr67wbZVV8jTGqoZ8O
|
34
|
+
LXnxD2cEcXYHq0H40uYhF0kT+DClasFvaoKsHcfls3AwshME9UPCpIXZ9yqwWB5v
|
35
|
+
c2ssLUM61klg6aqPwYrT/aNWFy0+dGbhfdCqFHED5VAqdJ9CDJK+ftycl4+P8wjl
|
36
|
+
BN8isQ//6vwALlrUdDbZ2v7l
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2022-01-17 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: drb_fileclient
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '0.4'
|
47
44
|
- - ">="
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
46
|
+
version: 0.6.0
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.6'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '0.4'
|
57
54
|
- - ">="
|
58
55
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
56
|
+
version: 0.6.0
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0.6'
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: sps-pub
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,7 +78,7 @@ dependencies:
|
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: 0.5.5
|
80
80
|
description:
|
81
|
-
email:
|
81
|
+
email: digital.robertson@gmail.com
|
82
82
|
executables: []
|
83
83
|
extensions: []
|
84
84
|
extra_rdoc_files: []
|
@@ -103,7 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
|
106
|
+
rubyforge_project:
|
107
|
+
rubygems_version: 2.7.10
|
107
108
|
signing_key:
|
108
109
|
specification_version: 4
|
109
110
|
summary: Designed to provide fault tolerant access to a DRb file server when 2 or
|
metadata.gz.sig
CHANGED
Binary file
|