batch_queue 1.1.0 → 1.2.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: 3b0f824265dd97a0c9992e49bb276d1131a79851ee6392c477941aa2c34261f4
4
- data.tar.gz: 3f4067e301015ee56ba0263d8da5ef79b5b2a897bac6ffc863e14b31a5fdd4b9
3
+ metadata.gz: 79b5f56fc16fe862046575b3814c1f6f5dbecce246630e292c7caa3e273ca6c5
4
+ data.tar.gz: 3279da137337c10650045b67d78588640cd4579528235bb6570c793d45d94a12
5
5
  SHA512:
6
- metadata.gz: eab99b1882c61b1ae01d68ece1680e055f5818e979869c6bd9f38e505f388e1768350468c8ac344326c5d7baf96968bd61bd3f74abaad144f3563f8c449e515d
7
- data.tar.gz: 5101491e33aca1f85e1d614ff6dabe3c825b68cc131164dbf4f4cc43074ee17aeb2868d26e62645aa6a617395e50a42d8834fe65d21274a690d0fab11bf7708f
6
+ metadata.gz: f370c23fc83c3f6eb35f990e929d69845a8326440ab4a3179b35927c8df7b0357f00425729f7d9e13a4142bd9202e244e6fcb98c2dc07277f45e3144d62d8ecd
7
+ data.tar.gz: 60021b5916010e205e73729ab13694c22231178f6e8d97cb285dabf8363cbf69691b606bbd4569a925e8e17dce0422d3a6ff81958097778c7742293f72660884
data/CHANGELOG.md CHANGED
@@ -1,9 +1,13 @@
1
+ ## [1.2.0] - 2025-10-04
2
+ ### Added
3
+ - Optional `name` parameter for thread naming
4
+
1
5
  ## [1.1.0] - 2024-11-03
2
6
  ### Added
3
7
  - Support for error handling
4
8
  - attr_readers for `max_batch_size` and `max_interval_seconds`
5
9
  - update to support more recent minitest
6
10
 
7
- ## [1.0.0] - 2019-09-01
11
+ ## [1.0.0] - 2019-10-18
8
12
  ### Added
9
13
  - Initial release of the gem.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- batch_queue (1.1.0)
4
+ batch_queue (1.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -79,7 +79,9 @@ You have two options for handling errors in `BatchQueue`:
79
79
  * Set a global error handler:
80
80
 
81
81
  ```
82
- bq.on_error = ->(e) { puts e.message }
82
+ bq.on_error do |e|
83
+ puts e.message
84
+ end
83
85
  ```
84
86
 
85
87
  If neither method is used, `BatchQueue` will catch the exception and print it to
@@ -1,21 +1,24 @@
1
1
  class BatchQueue
2
+ attr_reader :name
2
3
  attr_reader :max_batch_size
3
4
  attr_reader :max_interval_seconds
4
5
 
5
6
  # starts the queue
6
7
  # either max_batch_size or interval_milliseconds or both must be set
7
- def initialize(max_batch_size: nil, max_interval_seconds: nil, &block)
8
+ def initialize(name: nil, max_batch_size: nil, max_interval_seconds: nil, &block)
8
9
  if max_batch_size.nil? && max_interval_seconds.nil?
9
10
  raise 'either max_batch_size or max_interval_seconds or both must be set'
10
11
  end
11
12
  @is_running = true
12
13
  @queue = Queue.new
13
14
  @block = block
15
+ @name = name
14
16
  @max_batch_size = max_batch_size
15
17
  @max_interval_seconds = max_interval_seconds
16
18
  @mutex = Mutex.new
17
19
  @cond_var = ConditionVariable.new
18
20
  @runner = Thread.new { run }
21
+ @runner.name = name if !name.nil? && @runner.respond_to?(:name=)
19
22
  @on_error_callback = nil
20
23
 
21
24
  at_exit do
@@ -1,3 +1,3 @@
1
1
  class BatchQueue
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: batch_queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Livni
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-04 00:00:00.000000000 Z
11
+ date: 2025-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler