oni 4.3.0 → 5.0.0

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
  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.