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 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