riser 0.1.11 → 0.1.12
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
- 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
|