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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6a136c01524742c7fcd509a8ce2079fa2896b973
4
- data.tar.gz: 23337bf0c6f2bddd6f456aa1bf8f5ef2f3f448f8
2
+ SHA256:
3
+ metadata.gz: 23dd74db75038a029e405316917af36ee77feea0647aeaacf808798e3695cee5
4
+ data.tar.gz: 8897f618896da56f8e639f87f302b41442f9100635ba5b889a25a77860ae6573
5
5
  SHA512:
6
- metadata.gz: b2f58f56e522351ab0e5bafa318e72efcf7e01a78b4449ea1b4651da4926d9a33272d8a43f3cf38c4140a61f16698131da8945a4a963a2f7db3c0a16c1e216d6
7
- data.tar.gz: cba4e9e31458f792befd1c72886f70e9ca3233f49c4ff01f735c5c04bcd710bf0bd0ba411996bf074feb0b5e600c20582fb362e19d33dc6299d5bb9f4d3684d8
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) cihld process exits if max_idle seconds is expired
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.1
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: 2017-12-01 00:00:00.000000000 Z
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
- rubyforge_project:
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