parallel_server 0.1.6.1 → 0.1.6.2
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 +5 -5
- data/lib/parallel_server/prefork.rb +4 -8
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 23dd74db75038a029e405316917af36ee77feea0647aeaacf808798e3695cee5
|
|
4
|
+
data.tar.gz: 8897f618896da56f8e639f87f302b41442f9100635ba5b889a25a77860ae6573
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ede384ab6f5500c887bfbd6bf759afd86d4f4a3461654a10a85029316a891957ce65df238bef35de995a16537d1b6fac84ee2215426aa44322d8f3b2c4f7fd87
|
|
7
|
+
data.tar.gz: 230d3631b8b0b3a29e40e4ed4c69c6d8a0fa7bba85d4b612cabc92724e7033e735a11655ebf438cd784dc247e4dd9e2e20d0d373d657246f9d705dfe0c7c3857
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'socket'
|
|
2
2
|
require 'thread'
|
|
3
|
+
require 'timeout'
|
|
3
4
|
|
|
4
5
|
module ParallelServer
|
|
5
6
|
class Prefork
|
|
@@ -18,7 +19,7 @@ module ParallelServer
|
|
|
18
19
|
# @param opts [Hash] options
|
|
19
20
|
# @option opts [Integer] :min_processes (5) minimum processes
|
|
20
21
|
# @option opts [Integer] :max_processes (20) maximum processes
|
|
21
|
-
# @option opts [Integer] :max_idle (10)
|
|
22
|
+
# @option opts [Integer] :max_idle (10) child process exits if max_idle seconds is expired
|
|
22
23
|
# @option opts [Integer] :max_use (1000) child process exits if it is connected max_use times.
|
|
23
24
|
# @option opts [Integer] :max_threads (1) maximum threads per process
|
|
24
25
|
# @option opts [Integer] :standby_threads (5) keep free processes or threads
|
|
@@ -231,10 +232,6 @@ module ParallelServer
|
|
|
231
232
|
if st = Conversation.recv(from_child)
|
|
232
233
|
st[:time] = Time.now
|
|
233
234
|
@child_status[from_child].update st
|
|
234
|
-
if st[:status] == :stop
|
|
235
|
-
@to_child[from_child].close rescue nil
|
|
236
|
-
@to_child.delete from_child
|
|
237
|
-
end
|
|
238
235
|
else
|
|
239
236
|
@from_child.delete from_child
|
|
240
237
|
@to_child[from_child].close rescue nil
|
|
@@ -282,9 +279,9 @@ module ParallelServer
|
|
|
282
279
|
now = Time.now
|
|
283
280
|
@child_status.each do |r, st|
|
|
284
281
|
if now > st[:time] + @watchdog_timer + 60
|
|
285
|
-
Process.kill 'KILL', @from_child[r]
|
|
282
|
+
Process.kill 'KILL', @from_child[r] rescue nil
|
|
286
283
|
elsif now > st[:time] + @watchdog_timer && ! st[:signal_sent]
|
|
287
|
-
Process.kill @watchdog_signal, @from_child[r]
|
|
284
|
+
Process.kill @watchdog_signal, @from_child[r] rescue nil
|
|
288
285
|
st[:signal_sent] = true
|
|
289
286
|
end
|
|
290
287
|
end
|
|
@@ -358,7 +355,6 @@ module ParallelServer
|
|
|
358
355
|
@threads = {}
|
|
359
356
|
@threads_mutex = Mutex.new
|
|
360
357
|
@threads_cv = ConditionVariable.new
|
|
361
|
-
@parent_mutex = Mutex.new
|
|
362
358
|
@status = :run
|
|
363
359
|
end
|
|
364
360
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: parallel_server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.6.
|
|
4
|
+
version: 0.1.6.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tomita Masahiro
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-08-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Parallel TCP Server library. This is easy to make Multi-Process / Multi-Thread
|
|
14
14
|
server
|
|
@@ -40,8 +40,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '0'
|
|
42
42
|
requirements: []
|
|
43
|
-
|
|
44
|
-
rubygems_version: 2.5.2
|
|
43
|
+
rubygems_version: 3.0.3
|
|
45
44
|
signing_key:
|
|
46
45
|
specification_version: 4
|
|
47
46
|
summary: Parallel TCP Server library
|