drb_fileserver_plus 0.3.5 → 0.4.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/drb_fileserver_plus.rb +89 -57
- data.tar.gz.sig +0 -0
- metadata +36 -36
- 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: 45b978bb65e30e30be027dde50d7fb2dc74c827187b48c3b9d329a1e4db47135
|
|
4
|
+
data.tar.gz: 8658d87c9d8c999655e114610c412851a67ab015e11c364bfdc62db8cbff6dad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c449a64827a526009e8a78a09471f9c50ff6494cec76a0dcd71d21ad1d86442aad8cca528ed4a734022cbddb39e3bb8345f692e2d93213f07265d9f639739c7f
|
|
7
|
+
data.tar.gz: 375c3ad38607edfa37e0553453d500752e96b79b348b8ab017fccd63e89ad29256d013db57326af9bfb3862c63c6512c1dd3ab3d4738d611e694276cb6f506ff
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/lib/drb_fileserver_plus.rb
CHANGED
|
@@ -10,15 +10,15 @@ 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
22
|
end
|
|
23
23
|
|
|
24
24
|
def chmod(permissions, fname)
|
|
@@ -37,41 +37,43 @@ class DRbFileServer
|
|
|
37
37
|
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
def cp(path, path2)
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
node = ''
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
file_op do |f|
|
|
46
|
-
node = 'dfs://' + @nodes.first
|
|
46
|
+
node = 'dfs://' + @nodes.first
|
|
47
47
|
f.cp File.join(node, path), File.join(node, path2)
|
|
48
48
|
end
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
if @sps then
|
|
51
|
-
@sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
|
|
51
|
+
@sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
|
|
52
52
|
File.join(node, path2)]
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
end
|
|
56
|
-
|
|
55
|
+
end
|
|
56
|
+
|
|
57
57
|
def directory?(fname)
|
|
58
|
-
|
|
59
|
-
file_op do |f|
|
|
58
|
+
|
|
59
|
+
file_op do |f|
|
|
60
60
|
node = 'dfs://' + @nodes.first
|
|
61
|
-
f.directory? File.join(node, fname)
|
|
61
|
+
f.directory? File.join(node, fname)
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def exists?(fname)
|
|
64
|
+
end
|
|
67
65
|
|
|
68
|
-
|
|
66
|
+
def exist?(fname)
|
|
67
|
+
|
|
68
|
+
file_op do |f|
|
|
69
69
|
node = 'dfs://' + @nodes.first
|
|
70
|
-
f.
|
|
70
|
+
f.exist? File.join(node, fname)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
+
alias exists? exist?
|
|
76
|
+
|
|
75
77
|
def glob(path)
|
|
76
78
|
|
|
77
79
|
file_op do |f|
|
|
@@ -81,85 +83,85 @@ class DRbFileServer
|
|
|
81
83
|
|
|
82
84
|
end
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
|
|
85
87
|
def ls(path)
|
|
86
|
-
|
|
87
|
-
file_op do |f|
|
|
88
|
+
|
|
89
|
+
file_op do |f|
|
|
88
90
|
node = 'dfs://' + @nodes.first
|
|
89
91
|
f.ls File.join(node, path)
|
|
90
92
|
end
|
|
91
93
|
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
+
end
|
|
95
|
+
|
|
94
96
|
def mkdir(path)
|
|
95
97
|
|
|
96
98
|
node = ''
|
|
97
|
-
|
|
98
|
-
file_op do |f|
|
|
99
|
+
|
|
100
|
+
file_op do |f|
|
|
99
101
|
node = 'dfs://' + @nodes.first
|
|
100
102
|
f.mkdir File.join(node, path)
|
|
101
103
|
end
|
|
102
|
-
|
|
104
|
+
|
|
103
105
|
if @sps then
|
|
104
|
-
@sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
|
|
106
|
+
@sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
|
|
105
107
|
end
|
|
106
108
|
|
|
107
109
|
end
|
|
108
|
-
|
|
110
|
+
|
|
109
111
|
def mkdir_p(path)
|
|
110
112
|
|
|
111
|
-
node = ''
|
|
113
|
+
node = ''
|
|
112
114
|
|
|
113
115
|
file_op do |f|
|
|
114
116
|
node = 'dfs://' + @nodes.first
|
|
115
117
|
f.mkdir_p File.join(node, path)
|
|
116
118
|
end
|
|
117
|
-
|
|
119
|
+
|
|
118
120
|
if @sps then
|
|
119
121
|
@sps.notice "%s/mkdir_p: %s" % [@topic, File.join(node, path)]
|
|
120
122
|
end
|
|
121
|
-
|
|
123
|
+
|
|
122
124
|
end
|
|
123
|
-
|
|
125
|
+
|
|
124
126
|
def mv(path, path2)
|
|
125
127
|
|
|
126
128
|
node = ''
|
|
127
|
-
|
|
129
|
+
|
|
128
130
|
file_op do |f|
|
|
129
131
|
node = 'dfs://' + @nodes.first
|
|
130
132
|
f.mv File.join(node, path), File.join(node, path2)
|
|
131
133
|
end
|
|
132
|
-
|
|
134
|
+
|
|
133
135
|
if @sps then
|
|
134
|
-
@sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
|
|
136
|
+
@sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
|
|
135
137
|
File.join(node, path2)]
|
|
136
138
|
end
|
|
137
139
|
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
+
end
|
|
141
|
+
|
|
140
142
|
def read(fname)
|
|
141
|
-
|
|
143
|
+
|
|
142
144
|
file_op do |f|
|
|
143
145
|
node = 'dfs://' + @nodes.first
|
|
144
146
|
f.read File.join(node, fname)
|
|
145
147
|
end
|
|
146
148
|
|
|
147
149
|
end
|
|
148
|
-
|
|
150
|
+
|
|
149
151
|
def rm(fname)
|
|
150
152
|
|
|
151
153
|
node = ''
|
|
152
|
-
|
|
154
|
+
|
|
153
155
|
file_op do |f|
|
|
154
156
|
node = 'dfs://' + @nodes.first
|
|
155
157
|
f.rm File.join(node, fname)
|
|
156
158
|
end
|
|
157
|
-
|
|
159
|
+
|
|
158
160
|
if @sps then
|
|
159
161
|
@sps.notice "%s/rm: %s" % [@topic, File.join(node, fname)]
|
|
160
162
|
end
|
|
161
163
|
|
|
162
|
-
end
|
|
164
|
+
end
|
|
163
165
|
|
|
164
166
|
def rm_r(fname, force: false)
|
|
165
167
|
|
|
@@ -176,51 +178,81 @@ class DRbFileServer
|
|
|
176
178
|
|
|
177
179
|
end
|
|
178
180
|
|
|
179
|
-
def
|
|
181
|
+
def ru(path)
|
|
180
182
|
|
|
181
183
|
node = ''
|
|
182
184
|
|
|
183
185
|
file_op do |f|
|
|
184
186
|
node = 'dfs://' + @nodes.first
|
|
185
|
-
f.
|
|
187
|
+
f.rm File.join(node, path)
|
|
186
188
|
end
|
|
187
189
|
|
|
188
190
|
if @sps then
|
|
189
|
-
@sps.notice "%s/
|
|
191
|
+
@sps.notice "%s/ru: %s" % [@topic, File.join(node, path)]
|
|
190
192
|
end
|
|
191
193
|
|
|
192
194
|
end
|
|
193
195
|
|
|
194
|
-
def
|
|
196
|
+
def ru_r(path)
|
|
195
197
|
|
|
196
198
|
node = ''
|
|
197
199
|
|
|
198
200
|
file_op do |f|
|
|
199
201
|
node = 'dfs://' + @nodes.first
|
|
200
|
-
f.
|
|
202
|
+
f.rm_r File.join(node, path)
|
|
201
203
|
end
|
|
202
204
|
|
|
203
205
|
if @sps then
|
|
204
|
-
@sps.notice
|
|
206
|
+
@sps.notice "%s/ru_r: %s" % [@topic, File.join(node, path)]
|
|
205
207
|
end
|
|
206
208
|
|
|
207
209
|
end
|
|
208
210
|
|
|
209
|
-
def
|
|
211
|
+
def touch(fname, mtime: Time.now)
|
|
210
212
|
|
|
211
213
|
node = ''
|
|
212
214
|
|
|
213
215
|
file_op do |f|
|
|
214
216
|
node = 'dfs://' + @nodes.first
|
|
215
|
-
f.
|
|
217
|
+
f.touch File.join(node, fname), mtime: mtime
|
|
216
218
|
end
|
|
217
219
|
|
|
218
220
|
if @sps then
|
|
219
|
-
@sps.notice "%s/
|
|
221
|
+
@sps.notice "%s/touch: %s" % [@topic, File.join(node, fname)]
|
|
220
222
|
end
|
|
221
223
|
|
|
222
224
|
end
|
|
223
225
|
|
|
226
|
+
def write(fname, content)
|
|
227
|
+
|
|
228
|
+
node = ''
|
|
229
|
+
|
|
230
|
+
file_op do |f|
|
|
231
|
+
node = 'dfs://' + @nodes.first
|
|
232
|
+
f.write File.join(node, fname), content
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
if @sps then
|
|
236
|
+
@sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
def zip(fname, a)
|
|
242
|
+
|
|
243
|
+
node = ''
|
|
244
|
+
|
|
245
|
+
file_op do |f|
|
|
246
|
+
node = 'dfs://' + @nodes.first
|
|
247
|
+
f.zip File.join(node, fname), a
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
if @sps then
|
|
251
|
+
@sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
end
|
|
255
|
+
|
|
224
256
|
|
|
225
257
|
private
|
|
226
258
|
|
|
@@ -246,21 +278,21 @@ end
|
|
|
246
278
|
class DRbFileServerPlus
|
|
247
279
|
|
|
248
280
|
|
|
249
|
-
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
|
281
|
+
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
|
250
282
|
sps_port: '59010', sps_topic: 'file')
|
|
251
283
|
|
|
252
284
|
@host, @port, @nodes = host, port, nodes
|
|
253
|
-
|
|
285
|
+
|
|
254
286
|
if sps_host then
|
|
255
|
-
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
|
287
|
+
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
|
256
288
|
@topic = sps_topic
|
|
257
289
|
end
|
|
258
290
|
|
|
259
291
|
end
|
|
260
292
|
|
|
261
293
|
def start()
|
|
262
|
-
|
|
263
|
-
DRb.start_service "druby://#{@host}:#{@port}",
|
|
294
|
+
|
|
295
|
+
DRb.start_service "druby://#{@host}:#{@port}",
|
|
264
296
|
DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
|
|
265
297
|
DRb.thread.join
|
|
266
298
|
|
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.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Robertson
|
|
@@ -10,53 +10,54 @@ bindir: bin
|
|
|
10
10
|
cert_chain:
|
|
11
11
|
- |
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
13
|
+
MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBIMRIwEAYDVQQDDAlnZW1t
|
|
14
|
+
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
|
15
|
+
8ixkARkWAmV1MB4XDTIzMDEyNTIxMjEwOFoXDTI0MDEyNTIxMjEwOFowSDESMBAG
|
|
16
|
+
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
|
17
|
+
EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
|
|
18
|
+
ggGBAKUhddvwozZjtYVEj/yqjWLKzvpRMU1wRBd6PWCCK/+t9hgMYt46lhP5GHsY
|
|
19
|
+
zM2OevMekeNKBEd5JSZketiK1ghbRlfALh1ONST6PKWNnt3BnikLEXK0xlWZbOGz
|
|
20
|
+
0S7Yca2p34exICkIu1wHOctvhSdNMe2NUybYjKHsef6qAxx43gySgnSgFS9FcGlm
|
|
21
|
+
oVtH0ugZQHU12fE6vhK4BJlFjMgyuLAMIMRM+BotlwoIEM8QY9ZMwY2MlN1ljOVA
|
|
22
|
+
e3/1mAvk4dZqj+J8CX58djzOGH0XUFw6tq9LO081yEb6Ca0pPONoDqQeU+NdyU0y
|
|
23
|
+
Ep/P683ESZQpjbBgB9OUI4dDD0x2N5ab1mN4OO/eBmE0ZDGcSCH0VVM5FJGVwJiT
|
|
24
|
+
7T74fzDX/diDutvMLnkgDTUMIntcbn/ruPjbnmYKB0ZoeXiacZ5RPm9LD9sQns9G
|
|
25
|
+
20sMOc8m6eSKK7T9VO77SjAYyQh7mArYDtkRRCI0h1lmr/WesFfmiUylSiAIEVyd
|
|
26
|
+
InhSpQIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
|
27
|
+
BBQ0U9w98+0gW/IyGjq0uaw4cZ6tGjAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
|
|
28
|
+
ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
|
29
|
+
c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQA3mG7NrH1mUM8L9IAlkwLZQuUhJ7GS
|
|
30
|
+
2V6uiTo9+5GZnBdLDddogVzl2TJxibaSjBHsD4q9cqlU0Q/zc6yWjE1S564ixxgO
|
|
31
|
+
Z+reN+03uJW278dgt6xCPElAevlyKzFSRIAJDGMTbyUasKQa5EyvkhzJmRlHlB2G
|
|
32
|
+
2h8glYWurSEMAEW3MwAlnM/dx9xY5ZPZmm7mrYibZyZ14VBFvhjDb8N5f0b1fFGk
|
|
33
|
+
hsKTNGtZsX2ZtEKdppb243kEDSB42H1j+rUJ+buhnNEInYPVJUssxBdGvT/dx6lH
|
|
34
|
+
hnWcmRcU24PREmDrkjS68yye9Q2zdxTRy0h6vfPoNj5OFYP5BRdnojw0FNIInawG
|
|
35
|
+
SUzB/uXV+0btPu9UxE7axB0CsLZc/HTEEHwVf2LXn/f64Hc4geyDFCmsVTYHbHG1
|
|
36
|
+
4AI2oRADnvq+nYMWGxnDYHN4TsTgfn4kn21RVrSj4UENz+KinmDEJgGqpWXmYMzh
|
|
37
|
+
zw/9Ryb7BSzoMUXa+KmdyeiL9ArhU9YQh7s=
|
|
37
38
|
-----END CERTIFICATE-----
|
|
38
|
-
date:
|
|
39
|
+
date: 2023-01-25 00:00:00.000000000 Z
|
|
39
40
|
dependencies:
|
|
40
41
|
- !ruby/object:Gem::Dependency
|
|
41
42
|
name: drb_fileclient
|
|
42
43
|
requirement: !ruby/object:Gem::Requirement
|
|
43
44
|
requirements:
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.6.0
|
|
47
45
|
- - "~>"
|
|
48
46
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '0.
|
|
47
|
+
version: '0.8'
|
|
48
|
+
- - ">="
|
|
49
|
+
- !ruby/object:Gem::Version
|
|
50
|
+
version: 0.8.1
|
|
50
51
|
type: :runtime
|
|
51
52
|
prerelease: false
|
|
52
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
54
|
requirements:
|
|
54
|
-
- - ">="
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: 0.6.0
|
|
57
55
|
- - "~>"
|
|
58
56
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: '0.
|
|
57
|
+
version: '0.8'
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 0.8.1
|
|
60
61
|
- !ruby/object:Gem::Dependency
|
|
61
62
|
name: sps-pub
|
|
62
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -103,8 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
103
104
|
- !ruby/object:Gem::Version
|
|
104
105
|
version: '0'
|
|
105
106
|
requirements: []
|
|
106
|
-
|
|
107
|
-
rubygems_version: 2.7.10
|
|
107
|
+
rubygems_version: 3.4.4
|
|
108
108
|
signing_key:
|
|
109
109
|
specification_version: 4
|
|
110
110
|
summary: Designed to provide fault tolerant access to a DRb file server when 2 or
|
metadata.gz.sig
CHANGED
|
Binary file
|