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 +4 -4
- data/CHANGELOG.md +5 -1
- data/Gemfile.lock +1 -1
- data/README.md +3 -1
- data/lib/batch_queue/batch_queue.rb +4 -1
- data/lib/batch_queue/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79b5f56fc16fe862046575b3814c1f6f5dbecce246630e292c7caa3e273ca6c5
|
4
|
+
data.tar.gz: 3279da137337c10650045b67d78588640cd4579528235bb6570c793d45d94a12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
11
|
+
## [1.0.0] - 2019-10-18
|
8
12
|
### Added
|
9
13
|
- Initial release of the gem.
|
data/Gemfile.lock
CHANGED
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
|
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
|
data/lib/batch_queue/version.rb
CHANGED
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.
|
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:
|
11
|
+
date: 2025-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|