drb_fileserver_plus 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/drb_fileserver_plus.rb +60 -58
- data.tar.gz.sig +0 -0
- metadata +32 -32
- 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
|
64
|
+
end
|
65
65
|
|
66
|
-
def
|
67
|
-
|
68
|
-
file_op do |f|
|
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
|
|
@@ -224,33 +226,33 @@ class DRbFileServer
|
|
224
226
|
def write(fname, content)
|
225
227
|
|
226
228
|
node = ''
|
227
|
-
|
229
|
+
|
228
230
|
file_op do |f|
|
229
231
|
node = 'dfs://' + @nodes.first
|
230
232
|
f.write File.join(node, fname), content
|
231
233
|
end
|
232
|
-
|
234
|
+
|
233
235
|
if @sps then
|
234
236
|
@sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
|
235
237
|
end
|
236
|
-
|
238
|
+
|
237
239
|
end
|
238
|
-
|
240
|
+
|
239
241
|
def zip(fname, a)
|
240
|
-
|
242
|
+
|
241
243
|
node = ''
|
242
|
-
|
244
|
+
|
243
245
|
file_op do |f|
|
244
246
|
node = 'dfs://' + @nodes.first
|
245
247
|
f.zip File.join(node, fname), a
|
246
248
|
end
|
247
|
-
|
249
|
+
|
248
250
|
if @sps then
|
249
251
|
@sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
|
250
252
|
end
|
251
|
-
|
252
|
-
end
|
253
|
-
|
253
|
+
|
254
|
+
end
|
255
|
+
|
254
256
|
|
255
257
|
private
|
256
258
|
|
@@ -276,21 +278,21 @@ end
|
|
276
278
|
class DRbFileServerPlus
|
277
279
|
|
278
280
|
|
279
|
-
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
281
|
+
def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
|
280
282
|
sps_port: '59010', sps_topic: 'file')
|
281
283
|
|
282
284
|
@host, @port, @nodes = host, port, nodes
|
283
|
-
|
285
|
+
|
284
286
|
if sps_host then
|
285
|
-
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
287
|
+
@sps = SPSPub.new(host: sps_host, port: sps_port)
|
286
288
|
@topic = sps_topic
|
287
289
|
end
|
288
290
|
|
289
291
|
end
|
290
292
|
|
291
293
|
def start()
|
292
|
-
|
293
|
-
DRb.start_service "druby://#{@host}:#{@port}",
|
294
|
+
|
295
|
+
DRb.start_service "druby://#{@host}:#{@port}",
|
294
296
|
DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
|
295
297
|
DRb.thread.join
|
296
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.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -10,32 +10,33 @@ 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
|
@@ -43,20 +44,20 @@ dependencies:
|
|
43
44
|
requirements:
|
44
45
|
- - "~>"
|
45
46
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
47
|
+
version: '0.8'
|
47
48
|
- - ">="
|
48
49
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
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
|
- - "~>"
|
55
56
|
- !ruby/object:Gem::Version
|
56
|
-
version: '0.
|
57
|
+
version: '0.8'
|
57
58
|
- - ">="
|
58
59
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
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
|