prefork_engine 0.0.6 → 0.0.7

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
2
  SHA1:
3
- metadata.gz: 913fd5c478bf07925ad2f434c57c260b65377ee6
4
- data.tar.gz: 2760508f97238333c076016edddb5fc97a693ac9
3
+ metadata.gz: 56cdbff6141cb4bb77c9fe7df36e2ec53a3641bb
4
+ data.tar.gz: 5d4be4fd3cd04b71d7ed436267697ba5341cf18a
5
5
  SHA512:
6
- metadata.gz: ddfb88f037f3404eb74b3d518acc0bacaea5bdd0eb58540b329c2b7d6830a8c5fcadde8d83b4dcead4a1a1b83e61387c5d13373be1df428fc98b8ac2ef759ac1
7
- data.tar.gz: 63ed40cfb577c17e28e127310816ae66a6886870468616805a346a93028d2606565c1c141d9a69760a9d33f2ce799624fd6feeff51f6ebd35f71d8d15f08fb6a
6
+ metadata.gz: f653a9d4b21562c5a30f4b797737e1ec4a2f3a3330c009391bb648776fc185e3c6f43e3554777b0297933072b4595c8d368fcdea361368108279e14621c5a272
7
+ data.tar.gz: 93db0815f2a0627532dbe3a8e83369e4ae7641e3bd0f07e513116f2544419ec6115a73bd5a09014f39185358ea8d0aa75538509f45bd726614783f9155394f78
@@ -3,3 +3,5 @@ rvm:
3
3
  - 2.0.0
4
4
  - 2.1.5
5
5
  - 2.2.3
6
+ before_install:
7
+ - gem update bundler
data/Changes CHANGED
@@ -1,3 +1,7 @@
1
+ 0.0.7
2
+
3
+ - Use Timeout.timeout #2
4
+
1
5
  0.0.6
2
6
 
3
7
  - implement wait_all_children(timeout)
@@ -44,7 +44,8 @@ class PreforkEngine
44
44
 
45
45
  # main loop
46
46
  while @signal_received.length == 0
47
- action = self._decide_action() if @_no_adjust_until <= Time.now.to_f
47
+ action = @_no_adjust_until <= Time.now.to_f ? self._decide_action() : 0
48
+
48
49
  if action > 0
49
50
  # start a new worker
50
51
  if @options["before_fork"]
@@ -77,7 +78,7 @@ class PreforkEngine
77
78
  @worker_pids[pid] = @generation
78
79
  self._update_spawn_delay(@options["spawn_interval"])
79
80
  end
80
- if r = self._wait(action <= 0 ? 1 : 0)
81
+ if r = self._wait(action <= 0)
81
82
  self._on_child_reap(r.pid, r.status)
82
83
  if @worker_pids.delete(r.pid) == @generation && r.status != 0
83
84
  self._update_spawn_delay(@options["err_respawn_interval"])
@@ -150,7 +151,7 @@ class PreforkEngine
150
151
  def wait_all_children(timeout = 0)
151
152
  wait_loop = proc {
152
153
  while !@worker_pids.keys.empty?
153
- if r = self._wait(1)
154
+ if r = self._wait(true)
154
155
  if @worker_pids.delete(r.pid)
155
156
  self._on_child_reap(r.pid, r.status)
156
157
  end
@@ -159,7 +160,7 @@ class PreforkEngine
159
160
  }
160
161
  if timeout > 0
161
162
  begin
162
- timeout(timeout){
163
+ Timeout.timeout(timeout){
163
164
  wait_loop.call
164
165
  }
165
166
  rescue Timeout::Error
@@ -182,7 +183,7 @@ class PreforkEngine
182
183
  else
183
184
  delayed_task_sleep = self._handle_delayed_task()
184
185
  delayed_fork_sleep = self._decide_action > 0 ? [@_no_adjust_until - Time.now.to_f,0].max : nil
185
- sleep_secs = [delayed_task_sleep,delayed_fork_sleep,self._max_wait].select {|v| v != nil}
186
+ sleep_secs = [delayed_task_sleep,delayed_fork_sleep,self._max_wait].compact
186
187
  begin
187
188
  if sleep_secs.min != nil
188
189
  sleep(sleep_secs.min)
@@ -1,3 +1,3 @@
1
1
  class PreforkEngine
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prefork_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Nagano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-12 00:00:00.000000000 Z
11
+ date: 2016-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.4.5.1
115
+ rubygems_version: 2.5.1
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: a simple prefork server framework