prefork_engine 0.0.6 → 0.0.7

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