riser 0.1.11 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/example/simple_daemon.rb +9 -3
- data/lib/riser.rb +19 -19
- data/lib/riser/daemon.rb +11 -8
- data/lib/riser/services.rb +1 -1
- data/lib/riser/stream.rb +13 -1
- data/lib/riser/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8df03f9ab3a57474378714b0167b765e3bab55322a64aebc570adf6cb1521581
|
4
|
+
data.tar.gz: f9385ce81e1349b5273da355077b92aec3461143e815ac5922aced80abd78d45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcece7e7a1c149825a9c4308f8c9c5cf7dfaa71489ea94c87877cfa500ed119858c6c3bc4cde221560440cc69137ab3bfc4061ae010f61f772bc80e4ab8ea2e0
|
7
|
+
data.tar.gz: bd1290bb93c35f706aa8c06e9a350053ebb6b243013611ee51597cbbaecc41fc20e8372a78ab73a0fa69ceaa66d0052e629119b703751dabdfc45a9caae5c10d
|
data/example/simple_daemon.rb
CHANGED
@@ -1,17 +1,23 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# -*- coding: utf-8 -*-
|
3
3
|
|
4
|
+
require 'logger'
|
5
|
+
require 'pathname'
|
4
6
|
require 'riser'
|
5
7
|
|
8
|
+
base_dir = Pathname(File.dirname($0))
|
9
|
+
|
6
10
|
Riser::Daemon.start_daemon(daemonize: true,
|
7
11
|
daemon_name: 'simple_daemon',
|
8
|
-
status_file: 'simple_daemon.pid',
|
12
|
+
status_file: (base_dir + 'simple_daemon.pid').to_s,
|
9
13
|
listen_address: 'localhost:5000'
|
10
14
|
) {|server|
|
11
15
|
|
16
|
+
logger = Logger.new((base_dir + 'simple_daemon.log').to_s)
|
12
17
|
server.dispatch{|socket|
|
13
|
-
|
14
|
-
|
18
|
+
stream = Riser::LoggingStream.new(socket, logger)
|
19
|
+
while (line = stream.gets)
|
20
|
+
stream.write(line)
|
15
21
|
end
|
16
22
|
}
|
17
23
|
}
|
data/lib/riser.rb
CHANGED
@@ -3,26 +3,26 @@
|
|
3
3
|
require 'riser/version'
|
4
4
|
|
5
5
|
module Riser
|
6
|
-
autoload :AcceptTimeout,
|
6
|
+
autoload :AcceptTimeout, 'riser/server'
|
7
7
|
autoload :CompatibleStringIO, 'riser/compat'
|
8
|
-
autoload :DRbServiceCall,
|
9
|
-
autoload :DRbServiceServer,
|
10
|
-
autoload :DRbServices,
|
11
|
-
autoload :Daemon,
|
12
|
-
autoload :LoggingStream,
|
13
|
-
autoload :ReadPoll,
|
14
|
-
autoload :Resource,
|
15
|
-
autoload :ResourceSet,
|
16
|
-
autoload :RootProcess,
|
17
|
-
autoload :ServerSignal,
|
18
|
-
autoload :SocketAddress,
|
19
|
-
autoload :SocketServer,
|
20
|
-
autoload :StatusFile,
|
21
|
-
autoload :Stream,
|
22
|
-
autoload :SystemOperation,
|
23
|
-
autoload :TemporaryPath,
|
24
|
-
autoload :TimeoutSizedQueue,
|
25
|
-
autoload :WriteBufferStream,
|
8
|
+
autoload :DRbServiceCall, 'riser/services'
|
9
|
+
autoload :DRbServiceServer, 'riser/services'
|
10
|
+
autoload :DRbServices, 'riser/services'
|
11
|
+
autoload :Daemon, 'riser/daemon'
|
12
|
+
autoload :LoggingStream, 'riser/stream'
|
13
|
+
autoload :ReadPoll, 'riser/poll'
|
14
|
+
autoload :Resource, 'riser/resource'
|
15
|
+
autoload :ResourceSet, 'riser/resource'
|
16
|
+
autoload :RootProcess, 'riser/daemon'
|
17
|
+
autoload :ServerSignal, 'riser/server'
|
18
|
+
autoload :SocketAddress, 'riser/sockaddr'
|
19
|
+
autoload :SocketServer, 'riser/server'
|
20
|
+
autoload :StatusFile, 'riser/daemon'
|
21
|
+
autoload :Stream, 'riser/stream'
|
22
|
+
autoload :SystemOperation, 'riser/daemon'
|
23
|
+
autoload :TemporaryPath, 'riser/temppath'
|
24
|
+
autoload :TimeoutSizedQueue, 'riser/server'
|
25
|
+
autoload :WriteBufferStream, 'riser/stream'
|
26
26
|
|
27
27
|
def preload(namespace=Riser)
|
28
28
|
for name in namespace.constants
|
data/lib/riser/daemon.rb
CHANGED
@@ -299,10 +299,10 @@ module Riser
|
|
299
299
|
if (@sysop.listen(server_socket, server_address.backlog)) then
|
300
300
|
@logger.info("server socket backlog: #{server_address.backlog}")
|
301
301
|
else
|
302
|
-
@logger.warn('server socket backlog
|
302
|
+
@logger.warn('server socket backlog cannot be changed.')
|
303
303
|
end
|
304
304
|
else
|
305
|
-
@logger.info('server socket backlog is
|
305
|
+
@logger.info('server socket backlog is not changed.')
|
306
306
|
end
|
307
307
|
|
308
308
|
if (server_address.type == :unix) then
|
@@ -310,20 +310,20 @@ module Riser
|
|
310
310
|
if (@sysop.chmod(server_address.mode, server_address.path)) then
|
311
311
|
@logger.info("unix domain server socket mode: #{'%04o' % server_address.mode}")
|
312
312
|
else
|
313
|
-
@logger.warn('unix domain server socket mode
|
313
|
+
@logger.warn('unix domain server socket mode cannot be changed.')
|
314
314
|
end
|
315
315
|
else
|
316
|
-
@logger.info('unix domain server socket mode is
|
316
|
+
@logger.info('unix domain server socket mode is not changed.')
|
317
317
|
end
|
318
318
|
|
319
319
|
if (server_address.owner || server_address.group) then
|
320
320
|
if (@sysop.chown(server_address.owner, server_address.group, server_address.path)) then
|
321
321
|
@logger.info("unix domain server socket ownership: <#{server_address.owner}> <#{server_address.group}>")
|
322
322
|
else
|
323
|
-
@logger.warn('unix domain server socket ownership
|
323
|
+
@logger.warn('unix domain server socket ownership cannot be changed.')
|
324
324
|
end
|
325
325
|
else
|
326
|
-
@logger.info('unix domain server socket ownership is
|
326
|
+
@logger.info('unix domain server socket ownership is not changed.')
|
327
327
|
end
|
328
328
|
end
|
329
329
|
|
@@ -343,9 +343,9 @@ module Riser
|
|
343
343
|
|
344
344
|
if (server_address.type == :unix) then
|
345
345
|
if (@sysop.unlink(server_address.path)) then
|
346
|
-
@logger.info("delete unix server socket: #{server_address}")
|
346
|
+
@logger.info("delete unix domain server socket: #{server_address}")
|
347
347
|
else
|
348
|
-
@logger.warn("failed to delete unix server socket: #{server_address}")
|
348
|
+
@logger.warn("failed to delete unix domain server socket: #{server_address}")
|
349
349
|
end
|
350
350
|
end
|
351
351
|
|
@@ -631,6 +631,7 @@ module Riser
|
|
631
631
|
daemon_name: 'ruby'.freeze,
|
632
632
|
daemon_debug: $DEBUG,
|
633
633
|
daemon_nochdir: true,
|
634
|
+
daemon_umask: 0037,
|
634
635
|
status_file: nil,
|
635
636
|
listen_address: nil,
|
636
637
|
server_polling_interval_seconds: 3,
|
@@ -659,6 +660,8 @@ module Riser
|
|
659
660
|
c = DEFAULT.dup
|
660
661
|
c.update(config)
|
661
662
|
|
663
|
+
File.umask(c[:daemon_umask])
|
664
|
+
|
662
665
|
if (c[:status_file]) then
|
663
666
|
status_file = StatusFile.new(c[:status_file])
|
664
667
|
status_file.open
|
data/lib/riser/services.rb
CHANGED
@@ -253,7 +253,7 @@ module Riser
|
|
253
253
|
private :get_single_process_service
|
254
254
|
|
255
255
|
def get_sticky_process_service(name, stickiness_key)
|
256
|
-
get_druby_service(name, stickiness_key.hash % @druby_call_list.length)
|
256
|
+
get_druby_service(name, [ name, stickiness_key ].hash % @druby_call_list.length)
|
257
257
|
end
|
258
258
|
private :get_sticky_process_service
|
259
259
|
|
data/lib/riser/stream.rb
CHANGED
@@ -83,7 +83,19 @@ module Riser
|
|
83
83
|
def self.make_tag(io)
|
84
84
|
hex = Digest::SHA256.hexdigest(io.to_s)[0, 7]
|
85
85
|
fd = io.to_io.to_i
|
86
|
-
|
86
|
+
if (io.respond_to? :remote_address) then
|
87
|
+
addr = io.remote_address
|
88
|
+
if (addr.ip?) then
|
89
|
+
# expected only stream type
|
90
|
+
"[#{hex},#{fd},tcp://#{io.remote_address.inspect_sockaddr}]"
|
91
|
+
elsif (addr.unix?) then
|
92
|
+
"[#{hex},#{fd},unix:#{io.remote_address.unix_path}]"
|
93
|
+
else
|
94
|
+
"[#{hex},#{fd},unknown:#{io.remote_address.inspect_sockaddr}]"
|
95
|
+
end
|
96
|
+
else
|
97
|
+
"[#{hex},#{fd}]"
|
98
|
+
end
|
87
99
|
end
|
88
100
|
|
89
101
|
def initialize(io, logger)
|
data/lib/riser/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TOKI Yoshinori
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|