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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1acff6feaf608a07e3b7568fb2c39318ad866a0789ba0373a1941606693a6f7
4
- data.tar.gz: 29b2b507d47f4bd96cf6c4fc3314146a9276bba516f971c9fbafe0516ea3a201
3
+ metadata.gz: 8df03f9ab3a57474378714b0167b765e3bab55322a64aebc570adf6cb1521581
4
+ data.tar.gz: f9385ce81e1349b5273da355077b92aec3461143e815ac5922aced80abd78d45
5
5
  SHA512:
6
- metadata.gz: b7f538bf122eebe78979e0655a4e86f225914fbda516a3920f295cc7d66ad6a981736e60b043c3131c78a81937b8725d2e2105e83fb449771d96932bbf44462c
7
- data.tar.gz: 60f523f8c30fe2c54f11141d28fd53d6d493ceae43dbb2b025996cd82f214cf86cd1125a4bcbe693da4445a61699da5807d8e1a050ad986e0ff5f2fa2755874c
6
+ metadata.gz: fcece7e7a1c149825a9c4308f8c9c5cf7dfaa71489ea94c87877cfa500ed119858c6c3bc4cde221560440cc69137ab3bfc4061ae010f61f772bc80e4ab8ea2e0
7
+ data.tar.gz: bd1290bb93c35f706aa8c06e9a350053ebb6b243013611ee51597cbbaecc41fc20e8372a78ab73a0fa69ceaa66d0052e629119b703751dabdfc45a9caae5c10d
@@ -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
- while (line = socket.gets)
14
- socket.write(line)
18
+ stream = Riser::LoggingStream.new(socket, logger)
19
+ while (line = stream.gets)
20
+ stream.write(line)
15
21
  end
16
22
  }
17
23
  }
@@ -3,26 +3,26 @@
3
3
  require 'riser/version'
4
4
 
5
5
  module Riser
6
- autoload :AcceptTimeout, 'riser/server'
6
+ autoload :AcceptTimeout, 'riser/server'
7
7
  autoload :CompatibleStringIO, 'riser/compat'
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'
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
@@ -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 is not changed.')
302
+ @logger.warn('server socket backlog cannot be changed.')
303
303
  end
304
304
  else
305
- @logger.info('server socket backlog is default.')
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 is not changed.')
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 default.')
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 is not changed.')
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 default.')
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
@@ -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
 
@@ -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
- "[#{hex},#{fd}]"
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)
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module Riser
4
- VERSION = '0.1.11'.freeze
4
+ VERSION = '0.1.12'.freeze
5
5
  end
6
6
 
7
7
  # Local Variables:
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.11
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-08-08 00:00:00.000000000 Z
11
+ date: 2019-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler