oni 4.3.0 → 5.0.0

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
  SHA256:
3
- metadata.gz: 19d78db0264593a2aea45885eed49c3cf655379b730708ffb9d0d3449f0738fe
4
- data.tar.gz: d4f9a83030eccd4cdfd786605c1c982f997ad037c922301fecf747915434adda
3
+ metadata.gz: caeb912891a2409d8e6172aa32e46b35d6cbd2a21013bc56bd15e72b0cc1ab91
4
+ data.tar.gz: 659d955159d3a7787739c96f714b35a86471b94b05b2a7ae3c30ba7c6587e166
5
5
  SHA512:
6
- metadata.gz: f9de57477ff466dca18c6e8e20fb6395e56a4d3dbbecd42d39aa64299e04c88fb8367e02d319ab7143a4a2b97da027be173a956c7f0aa98920c5f58b6ed9c982
7
- data.tar.gz: e809d85d9615508e2f5e59aa8697e4d7b14727c415178e5b977986db69749561d588614d62d6ad4bfe71ed3494fa5d1df4bee5e336fe169fef334ae21df951e3
6
+ metadata.gz: 7a2aca94f8984a5944bfea8356ea72f8f324df9fd7dcc6741d14cffcc0fd6a1078ce36c93e3d589e3a6b0d05db7d42e8c5ef1ba6edfece1afb6df91027167f00
7
+ data.tar.gz: 9f444c0a04d0c390c739712820525bc492eaccae6adfe6f1a3befd1a0506334f1c7cea5c160c73d71a407cc86927aceeefc6ac35a306589f0cbb9998210a08cb
data/lib/oni/daemon.rb CHANGED
@@ -58,7 +58,7 @@ module Oni
58
58
 
59
59
  wthreads = if threads <= 1 then [run_thread]
60
60
  elsif workers <= 1 then standard_worker
61
- else wthreads = Array.new(workers).map{ |i| spawn_worker i } end
61
+ else wthreads = Array.new(workers){ |i| spawn_worker i } end
62
62
 
63
63
  after_start if respond_to? :after_start
64
64
 
@@ -79,6 +79,7 @@ module Oni
79
79
  worker_threads.each(&:kill)
80
80
  worker_threads.clear
81
81
  end
82
+ exit
82
83
  end
83
84
 
84
85
  def workers
@@ -184,21 +185,24 @@ module Oni
184
185
  #
185
186
  # @return [Thread]
186
187
  #
187
- def spawn_worker i = nil, &block
188
+ def spawn_worker name = nil, &block
188
189
  Thread.new do
190
+ pid = nil
189
191
  loop do # keep restarting for OOM and other cases
190
192
  pid = fork do
191
- Process.setproctitle "#{$0}: worker #{i}" if i
193
+ Process.setproctitle "#{$0}: worker #{name}" if name
192
194
 
193
195
  if block then yield else standard_worker end
194
196
  end
195
197
  Process.wait pid
196
198
  end
199
+ ensure
200
+ Process.kill :KILL, pid
197
201
  end
198
202
  end
199
203
 
200
204
  def standard_worker
201
- Array.new(threads).map do
205
+ Array.new(threads) do
202
206
  spawn_thread.tap{ |t| daemon_workers[Process.pid] << t }
203
207
  end.each(&:join)
204
208
  end
@@ -1,4 +1,4 @@
1
- require 'aws-sdk'
1
+ require 'aws-sdk-sqs'
2
2
 
3
3
  module Oni
4
4
  module Daemons
data/lib/oni/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Oni
2
- VERSION = '4.3.0'
2
+ VERSION = '5.0.0'
3
3
  end # Oni
data/oni.gemspec CHANGED
@@ -30,5 +30,7 @@ Gem::Specification.new do |gem|
30
30
  gem.add_development_dependency 'simplecov'
31
31
  gem.add_development_dependency 'kramdown'
32
32
  gem.add_development_dependency 'pry'
33
- gem.add_development_dependency 'aws-sdk', '~> 2.0'
33
+
34
+ gem.add_dependency 'rexml' # needed by aws-sdk
35
+ gem.add_dependency 'aws-sdk-sqs', '~> 1.0'
34
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oni
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yorick Peterse
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-06-02 00:00:00.000000000 Z
12
+ date: 2024-03-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -110,19 +110,33 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: aws-sdk
113
+ name: rexml
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: aws-sdk-sqs
114
128
  requirement: !ruby/object:Gem::Requirement
115
129
  requirements:
116
130
  - - "~>"
117
131
  - !ruby/object:Gem::Version
118
- version: '2.0'
119
- type: :development
132
+ version: '1.0'
133
+ type: :runtime
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
122
136
  requirements:
123
137
  - - "~>"
124
138
  - !ruby/object:Gem::Version
125
- version: '2.0'
139
+ version: '1.0'
126
140
  description: Framework for building concurrent daemons in Ruby.
127
141
  email:
128
142
  executables: []
@@ -162,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
176
  - !ruby/object:Gem::Version
163
177
  version: '0'
164
178
  requirements: []
165
- rubygems_version: 3.0.9
179
+ rubygems_version: 3.3.7
166
180
  signing_key:
167
181
  specification_version: 4
168
182
  summary: Framework for building concurrent daemons in Ruby.