io_daemonizer 6 → 7.1
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/io_daemonizer.rb +5 -7
- 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: 659f573346f478e82593492d57366baa4f704cdad86495f71f9e14d3ab656e53
|
4
|
+
data.tar.gz: '028c6285884760b1a2fa0330844128c1f63a713bc6efa1b2e6775f4ae3dcd64d'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebb22484722226e4761a4a29176f9b62f95513f693653c93adc7deb815f491b5b5711579c8ba29cf2810bb9c16f3e8539201cc287607ac4cf4e73074b35e21fc
|
7
|
+
data.tar.gz: 3ee8bd1928ca173f3ccd5d9e10e47809bac6224f8e5d2eacece6aaf45d97328d5fcceae3201e3f7dbbe2d8df9059d5cf93dbd2401d117ae2223e224969a53d03
|
data/io_daemonizer.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# io_daemonizer v.
|
1
|
+
# io_daemonizer v.7.1 https://github.com/joeyschoblaska/io_daemonizer
|
2
2
|
|
3
3
|
require "json"
|
4
4
|
require "shellwords"
|
@@ -19,9 +19,7 @@ class IODaemonizer
|
|
19
19
|
send_request(port: port, args: ARGV)
|
20
20
|
rescue Errno::ECONNREFUSED => e
|
21
21
|
raise(e) unless autostart
|
22
|
-
|
23
|
-
daemon.setup
|
24
|
-
fork { daemon.start }
|
22
|
+
Daemon.run(port: port, setup: setup, run: run, fork: true)
|
25
23
|
sleep 0.1
|
26
24
|
send_request(port: port, args: ARGV)
|
27
25
|
end
|
@@ -52,10 +50,10 @@ class IODaemonizer
|
|
52
50
|
end
|
53
51
|
|
54
52
|
class Daemon
|
55
|
-
def self.run(port:, setup:, run:)
|
53
|
+
def self.run(port:, setup:, run:, fork: false)
|
56
54
|
daemon = new(port: port, setup: setup, run: run)
|
57
55
|
daemon.setup
|
58
|
-
daemon.start
|
56
|
+
fork ? Kernel.fork { daemon.start } : daemon.start
|
59
57
|
end
|
60
58
|
|
61
59
|
def initialize(port:, setup:, run:)
|
@@ -125,7 +123,7 @@ class IODaemonizer
|
|
125
123
|
def write(chunk)
|
126
124
|
chunk.chars.each do |ch|
|
127
125
|
@buffer << ch
|
128
|
-
process_buffer
|
126
|
+
process_buffer if ch == "}"
|
129
127
|
end
|
130
128
|
end
|
131
129
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: io_daemonizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '
|
4
|
+
version: '7.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joey Schoblaska
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-09-
|
11
|
+
date: 2022-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Wrap a Ruby script that speaks stdio in a daemon so that you only pay
|
14
14
|
the startup overhead once.
|