io_daemonizer 6 → 7.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|